我在Visual Studio中有5個項目的解決方案。它們是:在Visual Studio項目中引用使用ILMerge創建的程序集
Foo.Core
:核心功能- :網絡特定的擴展
Foo.Web.Mvc
:構建在覈心的頂部Foo.Web
- 生成的代碼MVC-具體分機
Newtonsoft.Json
:第三方庫
我想用ILMerge合併Foo.Core
,和Newtonsoft.Json
到一個單一的組件,叫做Foo
。這是很容易的部分。
我遇到的問題是Foo.Web
和Foo.Web.Mvc
都需要引用所有三個合併的程序集。
如果我引用原始程序集,則在執行ILMerge後,它們將具有無效引用。
如果我參考ILMerged程序集,我必須引用一個調試程序集,然後在將所有東西打包之前進行更改,這看起來並不理想。
我試過創建一個名爲Foo
的項目,它引用了3個合併的程序集,並用ILmerged程序集替換了它自己的輸出,但這似乎根本不起作用。
有沒有可靠的方法來做到這一點?
是的,我試過這樣做,但無法得到我期待的效果。看起來ILMerge需要在發佈之前保留最後一步,而不是編譯時。 – 2010-05-08 21:00:08
我認爲如果您的項目按照正確的順序構建,就可以實現這一目標。您是否設置了項目依賴關係以確保構建順序? – JoeBilly 2010-05-08 23:41:41