有谁知道,或者有文章或分步教程的链接,可以告诉我如何以最低安装量分发 .net MONO 应用程序?Mono 的完整包大约是 75 MB,但我知道其中很多是我不需要的编译器和库。
我只想要最少的运行时文件。
我需要为一个简单的“Hello World”winforms 应用程序分发哪些文件?
我尝试只删除文件,直到我想出一些可行的方法,但它只在安装了 Mono 的机器上有效。这是我尝试过的文件
我为我的应用程序创建了一个目录。在那个目录中,我创建了另外两个目录
\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”解决方案,不需要实际安装,只需要包含运行时文件(比如从拇指驱动器运行时)
请注意,这是在 Windows 计算机上运行,而不是在 linux 机器上运行。
我尝试运行 mkbundle2(它是一个 .net 2.0 应用程序)并收到此错误
C:\Program Files\Mono-2.0.1\bin>mkbundle2 C:\Projects\SingleExeTest\bin\Release\SingleExeTest.exe --deps 操作系统为: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. ProcessStartInfo startInfo, System.Diagnostics.Process 进程) [0x00000] 在 System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInf o startInfo, System.Diagnostics.Process 进程) [0x00000] 在 System.Diagnostics.Process.Start ( System.Diagnostics.ProcessStartInfo start Info) [0x00000] at MakeBundle.Execute (System.String cmdLine) [0x00000] at MakeBundle.GenerateBundles (System.Collections.ArrayList files) [0x00000] at MakeBundle.Main (System.String[] args ) [0x00000]
C:\Program Files\Mono-2.0.1\bin>
有什么建议么?