2013-10-30 82 views
0

擁有包含數十個項目的大型解決方案似乎難以維護。我需要在其中一些項目中更新軟件包,但我不想在所有項目中都碰到它們。更新解決方案的某些項目中的參考

舉例來說,我想在一個類庫項目中將Entity Framework更新到版本6,但讓剩餘的項目繼續使用舊版本。但是由於另一個項目需要使用EF5和EF6來調用這兩個項目,這甚至有可能嗎?

此外,是否有可能模塊化類庫,使他們有自己的依賴關係,但不要使這些庫的調用者依賴於庫依賴關係? (通常我需要在調用項目和實際使用依賴關係的項目中直接添加對依賴項的引用)。我非常想讓這個類庫成爲一個黑盒子。調用代碼不需要知道黑盒子是幹什麼的。並且不應該需要添加10個不同的Google API API才能使用它。

回答

0

考慮ILMerge? ILMerge可以將多個DLL組合到一個庫中,這意味着您可以將任何依賴關係打包到您的DLL中。

但是我不能給你使用建議,但是我沒有第一手的經驗。

+0

我已經使用ILMerge。儘管如此,它並不總是奏效。對我來說,它總是拒絕將其中一個DLL合併到包中。沒有「原生Visual Studio」的方式嗎? – SamiHuutoniemi

+0

您可以編輯csproj文件,以便在構建項目時使用ilmerge.csharp.targets進行合併 - 但它仍在使用ilmerge! http://blogs.msdn.com/b/jomo_fisher/archive/2006/03/05/544144.aspx –

相關問題