是否有可能引用多个库的应用程序仅编译为 .exe 文件而不是 .exe +所有 .dll 文件?
我知道我可以重命名所有命名空间以匹配应用程序的命名空间,但我不想这样做。
谢谢
是的,使用 Microsoft 称为ILMerge的工具。构建项目后,它将允许您将所有 dll 合并到一个 exe 中。
这是一个CodeProject 教程,向您展示如何使用它
ilmerge /target:winexe /out:SelfContainedProgram.exe
Program.exe ClassLibrary1.dll ClassLibrary2.dll
更新:正如Blindy 提到的,如果您的代码使用Reflection
命名空间中的任何内容,则在合并文件后可能会遇到问题。如果您在合并后运行程序时开始出现错误,这是一个开始查看的地方。
是的,这正是ilmerge.exe的目的。
不过要小心后期绑定的库(即Assembly.LoadFrom
)。