2011-02-28 74 views
6

当我在Visual Studio中的解决方案中生成项目时(它可以是C#VB.NET F#或其他)我想每个项目只生成一个程序集正确吗?了解.NET程序集

所以,如果我有一个解决方案,包含项目1 2 3和4 当我逐一建立一个项目,我得到4个程序集的权利?

但是,是否有可能让构建器/编译器只为整个解决方案生成一个程序集?或者两个项目一起编译?

我的意思是这样使用命令行调用编译器和设置目标组装......

+0

为什么不做一个独特的项目呢? – bAN 2011-02-28 10:30:01

+2

@bAN例如,因为您在不同的项目中使用不同的语言。或者你想用编译器强制的方式分离你的图层。或者你有多个解决方案之间的通用代码。 – CodesInChaos 2011-02-28 10:31:11

+0

@bAN对不起迟到了......好有需求,有时,当程序员需要保持独立的项目,同时编译成汇编uniqie ... – Andry 2011-02-28 14:05:14

回答

10

默认情况下,有项目和组件之间的1对1的对应关系。但是您可以使用像ILMerge这样的工具从几个创建一个装配。

+0

哇OK ......谢谢CodeInChaos它是有帮助的......但是有没有办法使用.net编译器来做到这一点?例如从命令行调用它们并指定目标程序集? – Andry 2011-02-28 14:06:19

+0

我假设你可以把这样的调用放到后期构建脚本中。但我自己并没有这样做过。 – CodesInChaos 2011-02-28 14:09:07

+0

@Andry的MSBuild可能是这里的工具。看到这个博客条目:http://www.hanselman.com/blog/MixingLanguagesInASingleAssemblyInVisualStudioSeamlesslyWithILMergeAndMSBuild.aspx – PetPaulsen 2011-02-28 15:55:30