将.dll编译为可执行文件

The*_*per 1 c# winforms

引用多个库的应用程序是否有可能仅编译为.exe文件而不是.exe +所有.dll?

我知道我可以重命名所有名称空间以匹配应用程序的名称空间,但我不想这样做.

谢谢

Sco*_*ain 7

是的,使用Microsoft的ILMerge工具.在构建项目之后,它将允许您将所有dll组合到一个exe中.

这是一个CodeProject教程,向您展示如何使用它

ilmerge /target:winexe /out:SelfContainedProgram.exe 
        Program.exe ClassLibrary1.dll ClassLibrary2.dll
Run Code Online (Sandbox Code Playgroud)

更新:正如Blindy所提到的如果您的代码使用Reflection命名空间中的任何内容,则在合并文件后可能会遇到问题.这是一个开始查看合并后运行程序时是否开始出错的地方.