【问题标题】:Creating an exe for a Windows standalone application using C# in Visual Studio 2015在 Visual Studio 2015 中使用 C# 为 Windows 独立应用程序创建 exe
【发布时间】:2017-08-25 05:33:22
【问题描述】:

我已经使用 C# 和 MS SQL Server 2012 创建了销售管理系统。这工作正常。我只想知道如何创建一个 exe,以便可以在没有任何 .NET Framework 的情况下将其安装在另一台机器上。

例如它应该像 SalesManagementSystem.exe 一样,我应该可以在任何机器上安装它。

【问题讨论】:

  • 您需要安装 .Net 框架。没有办法解决这个问题。不幸的是,设置和安装项目模板没有包含在 VS2012 中,MS 想要停用它们,在公众愤怒之后,它们在 VS2013 中被带回。
  • 那么如何创建 exe 有什么想法吗??
  • 除非是 .NET Core,您可以在其中将 DLL 与应用程序捆绑在一起,否则您无法从 .NET 代码创建可执行文件,该代码不需要在将运行的机器上安装 .NET Framework它。如果你真的想要那样,用 C++ 之类的东西来编写应用程序。但是,较新版本的 Windows 已经安装了某些版本的 .NET(因此也安装了任何早期版本)。因此,请检查 Microsoft Docs 以了解您的目标 O/S 将支持什么。

标签: c#


【解决方案1】:

只需下载安装项目模板并创建安装程序:

https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.MicrosoftVisualStudio2015InstallerProjects

请参阅我的详尽指南,了解如何制作安装程序(也可以自行升级): Install to same path when upgrading application

【讨论】:

    【解决方案2】:

    如果没有安装相应的框架,.Net 应用程序将永远无法运行。但根据目标操作系统,框架已经安装。请查看release history at wikipeda。在那里你可以看到哪个 .Net 版本已经安装在哪个 windows 版本中。

    如果您想部署单个可执行文件,则必须将所有依赖程序集作为资源嵌入到您的可执行文件中(SO 已经有很多问题和答案)并通过覆盖 AssemblyResolve event 来加载它们。

    如果您想创建 Windows 安装程序,请查看 WiX

    【讨论】:

      【解决方案3】:

      您不能只跳过目标计算机上的 .NET Framework - 它是运行程序所必需的。由 C# 编译器生成的 exe 文件包含 MSIL,.NET Framework 可以理解它,而不是目标操作系统 - 无论是 Windows 还是任何其他操作系统。

      话虽如此,您最好的办法是为您的应用编写安装程序并 distribute the .NET Framework 随其一起分发 .NET Framework。启动时,安装程​​序可能会检查目标计算机上已安装的 .NET 框架版本(如果有),并通过安装应用程序所需的任何内容来做出适当的响应。

      您可以使用WiX 来编写安装程序。

      【讨论】:

        猜你喜欢
        • 2011-02-27
        • 2012-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-30
        • 1970-01-01
        相关资源
        最近更新 更多