最小限のインストールで.net MONOアプリケーションを配布する方法を教えてくれる記事やステップバイステップのチュートリアルへのリンクを知っている人はいますか? Mono の完全なパッケージは 75 MB のようですが、その多くは必要のないコンパイラとライブラリであることはわかっています。
最小限のランタイム ファイルが必要です。
シンプルな「Hello World」winforms アプリ用に配布する必要があるファイルは何ですか?
動作するものを思いつくまでファイルを削除しようとしましたが、Mono がインストールされているマシンでしか動作しませんでした。ここに私が試したファイルがあります
アプリ用のディレクトリを作成しました。そのディレクトリに、さらに2つのディレクトリを作成しました
\bin\lib\mono\2.0
\mono\lib\mono\2.0 に mscorlib.dll ファイルを \bin ディレクトリに置き、以下を置きます
Accessibility.dll、MyApp.exe (これは私が VS2005 で行った基本的な Hello World です)、iconv.dll、intl.dll、libglib-2.0-0.dll、libgthread-2.0-0.dll、Microsoft.VisualBasic.dll、 mono.dll、mono.exe、Mono.Posix.dll、System.dll、System.Drawing.dll、System.Windows.Forms.dll
次に、\bin ディレクトリから「mono MyApp.exe」を実行したところ、Mono がインストールされたマシンでは動作しましたが、他のマシンでは動作しませんでした。
私が好むのは、実際のインストールは必要なく、含まれているランタイムファイルだけが必要な「xcopy」ソリューションです(サムドライブから実行する場合など)
これは、Linux ボックスではなく、Windows コンピュータで実行されることに注意してください。
mkbundle2 (これは .net 2.0 アプリです) を実行してみましたが、このエラーが発生しました
C:\Program Files\Mono-2.0.1\bin>mkbundle2 C:\Projects\SingleExeTest\bin\Release\SingleExeTest.exe --deps OS は: Windows ソース: 1 自動依存: 真の埋め込み: C:\Projects \SingleExeTest\bin\Release\SingleExeTest.exe 埋め込み: C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\mscorlib.dll 埋め込み: C:\PROGRA~1\MONO-2~1.1\lib \mono\2.0\Microsoft.VisualBasic.dll
埋め込み: C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.dll
埋め込み: C:\PROGRA~1\MONO-2~1.1\lib \mono\2.0\System.Configuration.dll
埋め込み: C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.Xml.dll
埋め込み: C:\PROGRA~1\MONO-2~1.1 \lib\mono\2.0\System.Security.dll
埋め込み: C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\Mono.Security.dll
埋め込み: C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.Windows.Forms.dll
埋め込み: C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System .Drawing.dll
埋め込み: C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.Data.dll
埋め込み: C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0 \Mono.Data.Tds.dll
埋め込み: C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.Transactions.dll 埋め込み: C:\PROGRA~1\MONO-2~1.1\lib \mono\2.0\System.EnterpriseServices.dll
埋め込み: C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\Mono.WebBrowser.dll
埋め込み: C:\PROGRA~1\MONO-2~1.1 \lib\mono\2.0\Mono.Posix.dll
埋め込み: C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\Accessibility.dll コンパイル: as -o temp.o temp.s未処理の例外: System.ComponentModel.Win32Exception: ApplicationName='sh', CommandLine='-c "as -o temp.o temp.s "', CurrentDirectory='' at System.Diagnostics.Process.Start_noshell (System.Diagnostics. ProcessStartIn fo startInfo、System.Diagnostics.Process プロセス) [0x00000] System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo、System.Diagnostics.Process プロセス) [0x00000] at System.Diagnostics.Process.Start ( System.Diagnostics.ProcessStartInfo start Info) MakeBundle.Execute (System.String cmdLine) で [0x00000] MakeBundle.GenerateBundles (System.Collections.ArrayList ファイル) で [0x00000] MakeBundle.Main (System.String[] 引数) で [0x00000] ) [0x00000]
C:\Program Files\Mono-2.0.1\bin>
助言がありますか?