来自多个项目的单一装配

kjv*_*kjv 5 .net assemblies

在一个解决方案涉及多个项目的.net应用程序中,我有一个项目,其命名空间设置为Company.Product.UI,另一个项目使用Company.Product.UI.WebPages.我的问题是构建这两个项目会导致两个dll.我怎样才能拥有一个dll并仍保留当前的解决方案结构.我使用Visual Studio 2008和C#.

And*_*are 11

您必须将两个项目合并为一个项目,或者使用ILMerge之类的工具将生成的程序集合并到一个程序集中.

ILMerge是一个实用程序,可用于将多个.NET程序集合并到一个程序集中.可以从Microsoft .NET Framework开发人员中心的"工具与实用程序"页面免费使用.

如果你想将ILMerge自动化为MSBuild任务,那么我建议你看一下ilmerge-tasks:

有兴趣在自动构建期间使用ILMerge吗?ILMerge Tasks包含两个可构建的项目,允许您从MSBuild和NAnt访问ILMerge作为任务.它甚至包括一个后构建事件,它合并ILMerge和任务dll,以便您可以使用没有ILMerge.exe的任务.