【问题标题】:Can c# compiled app run on machine where .net is not installed?c#编译的应用程序可以在未安装.net的机器上运行吗?
【发布时间】:2009-05-20 09:22:03
【问题描述】:

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

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

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

【问题讨论】:

  • +1 因为I prefer doing that in c# because it is easier (I'm a java developer) - 史诗。

标签: c# .net compilation native


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • +1 - 甚至 XAML 也可以在 Moonlight(Mono 的 Silverlight)上使用,这已经让我考虑使用 Silverlight。但它并没有那个比 .NET 客户端配置文件小很多。
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        在一个相关问题Can you compile C# without using the .Net framework? 中,提到您可以使用来自单声道的 mkbundle 来执行此操作。我自己没有尝试过,所以我无法评论这是否是你应该走的路,但你可能想考虑一下。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-10-28
          • 1970-01-01
          • 2010-09-16
          • 2023-03-26
          • 2011-01-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多