Есть ли примеры компиляции кода С# с использованием Mono, чтобы exe мог работать с собственной поддержкой клиента Google?

Я нашел пресс-релиз, в котором говорится, что Mono теперь поддерживает компиляцию для собственного клиента. Неясно, доступно ли это только из отдельной монофорка github или как часть стандартного дистрибутива.

Я создал разветвленный моно-дистрибутив, но мне не удалось найти примеров того, как создать собственный исполняемый файл клиента, чтобы я мог запускать его в Chrome.

Кто-нибудь знает пример проекта или вы можете привести пример того, как создать приложение Mono для NaCl?


person Jeff Thompson    schedule 27.10.2011    source источник


Ответы (3)


Я думаю, что некоторые изменения могли быть внесены в апстрим, но на сегодняшний день (16.11.11) определенно есть исправления ошибок, которые все еще находятся только в форке github ( https://github.com/elijahtaylor/mono/ ). Чтобы собрать моно для nacl, следуйте инструкциям в каталоге mono/nacl ( https://github.com/elijahtaylor/mono/tree/master/nacl). Вам нужна моно среда выполнения, которая создаст моно, которая может быть встроена в ваш модуль nacl и может JIT-компилировать сборки .NET. (Существует также моно компилятор AOT, который работает на linux/mac и генерирует модули nacl, но я почти уверен, что он сейчас не работает, так как никто его не использует и не тестирует).

См. nacl/test/my.c и mono/mini/fsacheck.c для примеров того, как вызвать среду выполнения mono для JIT-кода из вашего модуля nacl. Внутри браузера вам придется придумать свой собственный способ (например, перец и/или nacl-mounts), чтобы получить байт-код в ваш модуль nacl.

person Derek    schedule 16.11.2011
comment
Не было большой активности; изменения x86 были приняты вверх по течению, но не изменения ARM. Должна быть возможность построить и использовать форк, но я ожидаю, что будет несколько проблем, которые нужно решить. Если вам интересно, вы можете попробовать, а затем задать более конкретные вопросы здесь или по адресу [email protected]. - person Derek; 15.01.2015

Я не уверен, что он был загружен в репозиторий Mono, но здесь есть форк, который работает на NaCl: https://github.com/elijahtaylor/mono Обратите внимание, используйте на свой страх и риск!

person Colt McAnlis    schedule 28.10.2011

Это сообщение от марта 2012 г. указывает, что В Chrome 19 встроенный клиент поддерживает встроенный монофонический режим.

Версии Mono для собственного клиента теперь доступны для загрузки в SDK. Они скомпилированы с помощью glibc, а libmono представляет собой динамическую библиотеку. Моно доступно только для перец_19 и выше.

Учтите, что вы должны синхронизировать свои пакеты pepper_X и naclmono_X (т. е. не обновлять один без обновления другого), иначе вы, вероятно, не сможете запустить полученные сборки nexes. Новые версии Mono, соответствующие данному SDK, должны быть доступны в течение нескольких часов после появления новой сборки SDK.

В настоящее время в Native Client поддерживается только встроенный Mono (http://www.mono-project.com/Embedding_Mono).

person Greg Bray    schedule 07.09.2012