繁体   English   中英

Visual Studio - 将应用程序放入可执行文件中?

[英]Visual Studio - Making an application into on executable file?

在VS中,我只测试了代码并对其进行了调试,但实际上从未为最终的程序或发布做过任何准备。 我下载的一些程序有dll需要在他们所在的文件夹中,而且我的程序只有一个.exe。 有没有办法将所有文件编译成一个应用程序而没有外部dll? 这是不好的编程习惯吗? 如何将我的VS程序编译成一个可执行文件?

我知道这是一个非常明显的问题,这就是我无法找到答案的原因,因为在它上面编写任何类型的教程都是显而易见的。

使用C#或VB.NET等托管语言, ILMerge是一个可以使用的实用程序。

ILMerge是一个用于将多个.NET程序集合并到单个.NET程序集中的实用程序。 它适用于可执行文件和DLL,并带有几个选项来控制输出的处理和格式。

如果问题只是让VisualStudio构建可执行程序,那么每次在其中运行它时都会执行它。 如果使用所有默认设置,请打开项目文件夹并查找/ bin目录。 在它下面,有一个/ debug和/ release目录。 如果您在调试模式下构建程序,请查看/ debug目录,如果您在发布模式下构建它,请查看发布目录。 VS会将您的程序所需的所有内容放在该目录中。 您可以将所有这些文件复制到另一台安装了.Net运行时的计算机上,然后运行它。

如果问题更多的是将多个dll组合到一个exe中,实际上,CodePlex上有一个教程:

如您所知,.NET中不再需要传统的目标代码链接。 .NET程序通常由多个部分组成。 典型的.NET应用程序包括可执行程序集,程序目录中的一些程序集以及全局程序集缓存中的一些程序集。 程序运行时,运行时将所有这些部分组合到一个程序中。 不再需要在编译时链接。

但有时,将程序需要执行的所有部分组合到单个程序集中仍然很有用。 例如,您可能希望通过将程序,所有必需的库和所有资源组合到单个.exe文件中来简化应用程序的部署。

http://www.codeproject.com/KB/dotnet/mergingassemblies.aspx

最后,如果问题是关于构建广泛分发的安装程序,Jan Willem B有一个WIX示例: 使用WIX创建安装程序:快速入门教程

是的,您可以使用ILMerge嵌入托管的.Net DLL! 这里的例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM