2011-02-28 120 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