2009-02-19 7 views
4

Il y a eu une bonne partie de l'utilitaire mono mkbundle qui est supposé (entre autres choses) vous permettre de créer un bundle (standalone .exe) avec un projet C# compilé avec Mono. Cela fonctionne quand je l'exécute dans Cygwin, cependant ce que je voudrais vraiment faire est d'utiliser l'option --deps et l'option --static pour extraire toutes les dépendances et les bibliothèques afin qu'elles soient autonomes. Lors de l'exécution de la commande dans Cygwin, il prétend que --static n'est pas pris en charge sous la plate-forme actuelle (je suppose qu'il fait référence à Windows). La question est alors:utilitaire mono mkbundle sur windows

Y a-t-il un moyen de contourner ce dilemme?

Si ce n'est pas le cas, quels sont les fichiers .dll spécifiques que je dois maintenant emporter avec mon exécutable pour que la machine fonctionne? Il ne semble pas être répertorié n'importe où sur le site mono.

Merci!

+0

AFAIK seuls les ensembles gérés (.net) sont pris en charge. Les assemblages non gérés sont liés d'une manière ou d'une autre. – Sharique

Répondre

0

Il n'existe aucun moyen de créer une application crossplatform en mono avec toutes les bibliothèques nécessaires incluses car ces bibliothèques s'appuieront sur certaines bibliothèques non gérées spécifiques.
La bonne façon ici est de créer un installateur (par exemple) pour votre application et d'y inclure un installateur mono. Ainsi, lorsque vous installerez votre application, le mono sera également installé. Pour Linux, vous devrez également créer un programme d'installation.

+1

En fait, ce n'est pas vrai. Je pense que vous voulez dire "pas moyen de faire une application multi-plateforme". – IanNorton

4

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

Sur les systèmes Windows, il nécessaire de ont toolchain Unix être installé pour mkbundle travailler. Vous pouvez utiliser cygwin et installer gcc, gcc-mingw et en tant que paquets. (sic)