C# VS控制台应用程序-将所有库编译为exe

C# VS控制台应用程序-将所有库编译为exe,c#,console-application,C#,Console Application,我在VisualStudio2008中创建了一个基本控制台应用程序,它引用了一个外部程序集 发布和安装项目时,可执行文件和外部程序集都安装在目标文件夹中 是否可以编译项目,并将所有引用的程序集都包含在主可执行文件中—因此只有一个文件要分发 谢谢你的帮助 Franko您可以从Microsoft使用此工具,或从Mono项目使用此工具。您可以从Microsoft使用此工具,或从Mono项目使用此工具。您可以使用合并程序集进行部署。这使您可以在开发期间将它们分开,但在发货时将它们全部放在一个.exe文件

我在VisualStudio2008中创建了一个基本控制台应用程序,它引用了一个外部程序集

发布和安装项目时,可执行文件和外部程序集都安装在目标文件夹中

是否可以编译项目,并将所有引用的程序集都包含在主可执行文件中—因此只有一个文件要分发

谢谢你的帮助


Franko

您可以从Microsoft使用此工具,或从Mono项目使用此工具。

您可以从Microsoft使用此工具,或从Mono项目使用此工具。

您可以使用合并程序集进行部署。这使您可以在开发期间将它们分开,但在发货时将它们全部放在一个.exe文件中。

您可以使用合并程序集进行部署。这允许您在开发期间将它们分开,但在发货时将它们全部放入一个.exe文件。

您可以创建一个安装文件。因此,您只能重新分发一个文件。 但它仍将被安装到一个文件夹中,每个程序集是分开的


您也可以考虑将程序集放入GAC。

< P>可以创建安装文件。因此,您只能重新分发一个文件。 但它仍将被安装到一个文件夹中,每个程序集是分开的


您也可以考虑将程序集放入GAC。

如果您发现ILIGM不够,因为您的应用程序需要除.NET程序集之外的文件,我发现使用MAKESFX很好地将它打包为自提取EXE。听起来不太可能,但如果命令行标志正确,自解压位是完全透明的,它与任何其他应用程序一样运行。

如果您发现ILMerge不够,因为您的应用程序需要.net程序集以外的文件,我发现使用MakeSFX将其打包为自解压exe效果很好。听起来不太可能,但如果命令行标志正确,自解压位是完全透明的,它的运行方式与任何其他应用程序一样。

Cecil不会合并程序集。好吧,你可以用它写一个合并,但是没有内置功能。Cecil不合并程序集。嗯,你可以用它写一个合并,但是没有内置的功能。谢谢你-正是我想要的!谢谢-正是我想要的!不,GAC会使事情变得不必要的复杂化。@Henk,我不推荐它。只是指出这个选项是可用的。不,GAC会使事情变得不必要的复杂化。@Henk,我不推荐它。刚才指出这个选项是可用的。