将Windows窗体应用程序构建到独立的可执行文件

时间:2016-03-31 12:55:16

标签: c# build

我之前从未这样做过,因为直到现在我才需要这样做,但我需要将我的Windows窗体应用程序构建为独立的可执行文件。我知道Visual Studio中的 Build Publish 选项,但是我没有做我需要的。 Build 不允许您移动它所生成的可执行文件,并且发布进行设置以在计算机上安装。

我的目标是在没有安装的情况下打开应用程序。

Build 选项创建的/bin/Debug/目录中,我有一个可执行文件,需要四个dll,两个.pdb文件和其他一些标准文件(.manifest,.config,等等。)。我希望在可执行文件中构建任何需求。

我该怎么做?我的所有搜索都带我参考了一些关于如何从头开始创建应用程序以及如何使用csc.exe控制台命令的教程。

2 个答案:

答案 0 :(得分:1)

你想要的是将.DLL嵌入到.exe文件中,这样你可以自由移动它,只需要.exe,你只是没有搜索正确的东西, 这就是你要找的东西:

可以将.NET可执行文件与库合并。有多种工具可以完成工作:

ILMerge是一个实用程序,可用于将多个.NET程序集合并到一个程序集中。

Mono mkbundle,将exe和所有程序集与libmono打包成一个二进制包。

IL-Repack是ILMerge的FLOSS替代品,带有一些其他功能。

请参阅:Embedding DLLs in a compiled executable

这确实是重复的,但我并没有将其标记为如此。

答案 1 :(得分:1)

您可以合并单独的程序集,使其成为单个可执行文件。

有一个名为ILMerge的工具能够为您完成此任务。另一种方法在this post中描述,它也适用于WPF。