c#编译的应用程序可以在没有安装.net的机器上运行吗?

时间:2009-05-20 09:22:03

标签: c# .net compilation native

我想为windows开发一个小实用程序,我更喜欢在c#中这样做,因为它更容易(我是一个java开发人员)。

该实用程序可供许多人下载,我假设其中一些不会安装.net框架(这个假设是正确的,比如说我的目标是win xp及以上吗?)

我的问题是:c#应用程序是否可以以不需要安装.net框架的方式编译?

5 个答案:

答案 0 :(得分:6)

通常,您需要在目标系统上安装.NET Framework。没有简单的方法。

但是,某些第三方工具(如Xenocode或Salamander)允许您创建独立应用程序。请参阅此相关问题:

  

Is there some way to compile a .NET application to native code?

由于这些解决方案不是直接的并且需要商业产品,我建议您创建一个简单的Visual Studio 设置和部署项目。在项目的属性中,您应该包含.NET Framework作为先决条件。然后,创建的setup.exe将在安装应用程序之前自动下载并安装.NET Framework。

答案 1 :(得分:5)

不,它需要安装.Net框架。请注意,您只需要可再发行版本,而不是SDK。

答案 2 :(得分:4)

一个小问题 - 但在这种情况下,考虑在Silverlight中开发实用程序 - 它占用的空间要小得多,并且在许多操作系统上都受支持。这可能允许您获得覆盖范围,包括尚未拥有.NET的人。

如果您需要“普通”.NET,那么“客户端配置文件”可能是一种选择。

答案 3 :(得分:0)

您可以在应用程序中包含.net框架安装程序。

答案 4 :(得分:0)

在一个相关问题Can you compile C# without using the .Net framework?中,提到你可以使用单声道的mkbundle来做到这一点。我自己没有尝试过,所以我不能评论你是否应该这样做,但你可能想要考虑它。