一个DLL,多个项目?

时间:2010-01-06 22:20:37

标签: .net visual-studio dll

是否可以强制我的C#解决方案文件生成包含解决方案中所有项目的单个DLL,而不是每个项目一个DLL? This dude说这是不可能的,但我注意到这是2004年的帖子。我使用的是Visual Studio 2008 Team System,它是一个C#应用程序。

5 个答案:

答案 0 :(得分:20)

没有。每个项目都将编译成一个单独的库或应用程序。

但是,您可以使用ILMerge后期编译将这些合并到一个DLL或EXE文件中。

答案 1 :(得分:14)

直接使用Visual Studio是不可能的,但您可以使用 ILMerge 合并程序集。这可以是例如在构建后的步骤中完成:

ilmerge /target:winexe /out:SelfContainedProgram.exe 
    Program.exe ClassLibrary1.dll ClassLibrary2.dll

如果您的项目是ASP.Net项目,则可以依赖ASP.NET Merge Tool

答案 2 :(得分:0)

这是可能的,甚至可能在2004年。

但是,Visual Studio不会公开它。

您需要使用netmodules

答案 3 :(得分:0)

您可以创建一个MSBuild脚本,该脚本使用XSLT将所有csproj文件合并为一个然后构建它。您不需要复制cs文件或类似的东西,只需动态生成一个新的csproj文件。

答案 4 :(得分:0)

从未亲自完成,但看起来这个工具可以实现这一目标:

ILMerge