cygwin で mono mkbundle を使用してドット ネット アプリをコンパイルしましたが、正常に動作します。ここからの指示を使用しましたc# cywgwin mono mkbundle windows 7 - ファイルをコンパイルできません
次のファイル (mono/bin からコピー) フォルダーがアプリと同じフォルダーにない限り、完成したアプリは実行されません: mono.dll、libglib-2.0-0.dll、libgthread-2.0-0.dll、zlib。 dll
これはすべて問題ないようです-ただし、コマンドを実行すると(cygwinから)
$ objdump -p mycompiledapp.exe | grep "DLL Name"
(「mycompiledapp.exe」はアプリの名前です)
ファイル mono.dll、libglib-2.0-0.dll、libgthread-2.0-0.dll は既にアプリに埋め込まれています。
これらのファイルは、アプリ内に既に埋め込まれているのに、アプリが機能するためにアプリと同じフォルダーにある必要があるのはなぜですか?
コンパイル時に何か間違ったことをしましたか?
次のいずれかの方法はありますか:
a) これらのアセンブリをアプリに埋め込まない (アプリと共に配布できるようにする)
b) アプリをコンパイルして、これらのアセンブリがアプリに埋め込まれていることを認識し、それらを使用しますか? (これらのファイルをアプリで配布する必要はありません)
これらのファイルが既にアプリに埋め込まれている場合、これらのファイルをアプリで配布するのは面倒です! (特にこれらのアセンブリのサイズを考慮すると、50k ドットのネット アプリは、コンパイルされたモノアプリとして約 5 メガになります。これを機能させるには、追加の 4 メガのアセンブリと共に配布する必要があります...e)
情報をありがとう、
鍛冶屋