如何将 Windows 窗体应用程序 (C#) 制作为单个 exe 文件?

Cyb*_*ish 5 c# winforms visual-studio-2013

我正在使用 Visual Studio 2013

我刚刚用它制作了我的第一个 Windows 应用程序(Windows 窗体),如果可能的话,我想将库和配置/清单等文件嵌入到单个可执行文件中,以提供更多便利。能做到吗?如果是这样怎么办?

多谢

Cra*_* W. 2

无论如何,您不应该部署 bin\Release 文件夹中的所有文件。vshost 文件用于在 Visual Studio 中进行调试,不应部署它们。pdb文件用于调试,不需要部署。如果您的应用程序不使用配置文件进行任何操作,则无需部署它。不过,您将需要部署任何其他程序集,您可以使用 ILMerge 来解决这个问题。

话虽如此,我的建议是创建一个安装程序或创建一个自动执行的存档(zip 或 7z),而不是尝试使用 ILMerge 来部署与您的应用程序一起部署的任何第三方程序集。

更新

需要明确的是,这里是我添加了 JSON.NET(发布版本)的默认 WinForms 应用程序中的文件列表:

  • Newtonsoft.Json.dll
  • Newtonsoft.Json.xml
  • WindowsFormsApplication1.exe
  • WindowsFormsApplication1.exe.config
  • WindowsFormsApplication1.pdb
  • WindowsFormsApplication1.vshost.exe
  • WindowsFormsApplication1.vshost.exe.config
  • WindowsFormsApplication1.vshost.exe.manifest

如果应用程序不使用配置文件,则您需要部署的唯一文件是Newtonsoft.Json.dllWindowsFormsApplication1.exe