使用.NET运行C#应用程序 - MONO

时间:2012-07-06 12:21:46

标签: c# .net mono

我使用C#编写了一个简单的应用程序。

现在我该如何制作它,以便它可以在所有系统上运行。 如果PC没有安装.NET框架 - 它应该只使用程序所需的最低要求来安装它。 安装.NET框架 - 与许多程序相比规模太大,只需几千字节。也只有在需要时才能保持沉默。 基本上,应用程序应该很轻,并且能够在所有Windows系统中运行。 对获得Linux用户不感兴趣。

我应该使用Mono Project吗? 否则,有一种方法可以选择预先安装裸小的.NET框架。

请告知。

谢谢

4 个答案:

答案 0 :(得分:2)

看看mkbundle。它将创建一个独立的可执行文件,没有其他依赖项。特别是它既不需要安装Mono运行时也不需要安装.NET来执行。

大小可能仍然是一个问题(它可能是几兆字节,甚至是压缩的),因此还有另一种工具可以从程序集中删除不需要的所有内容:monolinker

请注意,即使执行了所有操作,该大小也可能无法达到千字节范围。

答案 1 :(得分:1)

您可以通过大量工作和Mono框架的帮助来完成此任务。有关详细信息,请参阅Embedding Mono

Embedding Mono

考虑到这一点,使用boostrapper来安装.NET Client Framework的版本要容易得多。但是你将失去静默安装或处于“千字节”足迹的能力。

答案 2 :(得分:0)

不幸的是,您无法在未安装.NET框架的计算机上运行.NET程序,并且可以使程序的安装程序自动下载框架,但不能在.NET中下载。

答案 3 :(得分:0)

要运行.net应用程序,您需要安装.net框架,该框架应该是完整版本或有限的客户端配置文件版本。

最简单的方法是从VS创建一个安装项目,并且需要您想要的.net版本......安装程序应该能够从Internet安装.net框架,因此您不需要随应用程序一起发送它,你可以从安装程序那里做。

单声道不会有所不同,因为它仍然需要安装在系统上。然而Mono有完全的AOT支持,但我不知道这对你有没有帮助......无论如何它仍然是一个巨大的矫枉过正。

如果您的应用程序很小并且在没有任何依赖关系的任何窗口上运行,则应该使用c / c ++或vb6,其运行时随大多数Windows版本一起提供。