2009-02-19 7 views
4

Было довольно много упоминаний утилиты Mono mkbundle, которая, как предполагается, позволяет вам создать пакет (автономный .exe) с проектом C#, скомпилированным с помощью Mono. Это работает, когда я запускаю его в Cygwin, однако то, что я действительно хотел бы сделать, это использовать опцию --deps и --static, чтобы вытащить все зависимости и библиотеки, чтобы она действительно была автономной. Во время выполнения команды в Cygwin, она утверждает, что --static не поддерживается под текущей платформой (я предполагаю, что это относится к окнам). Тогда возникает вопрос:Утилита mono mkbundle на окнах

Есть ли какой-либо путь вокруг этой дилеммы?

Если нет, то какие именно .dlls мне теперь требуется для переноса вместе с моим исполняемым файлом, чтобы получить работу? Кажется, он нигде не упоминается на моно-сайте.

Спасибо!

+0

Поддерживается только управляемая (.net) сборка AFAIK. Не управляемые сборки - это те или иные способы, связанные с os. – Sharique

ответ

0

Невозможно сделать кроссплатформенное приложение в моно со всеми необходимыми библиотеками, потому что эти библиотеки будут полагаться на некоторые неконтролируемые библиотеки.
Правильный путь здесь - создать установщик (например,) для вашего приложения и включить в него моноустановщик. Поэтому, когда вы будете устанавливать приложение, моно будет установлено. Для linux вам также потребуется создать установщик.

+1

Собственно, это не так. Я думаю, вы имеете в виду «никоим образом не сделать приложение с кросс-платформой в комплекте». – IanNorton

4

http://linux.die.net/man/1/mkbundle:

В системах Windows, то это необходимо иметь Unix-подобный набор инструментов, чтобы быть установлен для mkbundle работать. Вы можете использовать cygwin и установить gcc, gcc-mingw и как пакеты. (sic)

Смежные вопросы