2016-09-29 59 views
2

在我的項目中,我有兩個依賴關係引用同一程序集的兩個不同版本(structuremap v2.6.4 vs v3.1.4.1),有任何方法可以用金塊正確解決這個問題嗎?兩個版本的兩個依賴關係

+0

您是否需要兩個版本用於單獨的項目,還是隻需要所有項目中的相同版本? – confusedandamused

+0

我需要同一個項目的兩個版本,我在我的項目A中引用了兩個依賴關係B和C(它們需要結構映射,但版本不同) – rad

+0

爲什麼你需要不同的版本? – Steven

回答

1

解決此問題的一種方法是使用NuGet軟件包Costura.Fody - 它基本上捆綁了不同版本的所有.dll文件,供您在項目中使用。

第一步是安裝包

安裝,你會看到你的解決方案資源管理`FodyWeavers.xml包裝後。這可以被編輯以包含或排除某些.DLL的,但每次我都用過了,我只是保持其最終被默認值...

<?xml version="1.0" encoding="utf-8"?> 
<Weavers> 
<Costura/> 
</Weavers> 

這是什麼讓你做的是地方之一.DLL放入解決方案(或其他地方)的Libraries文件夾中,Costura.Fody會將解決方案中的所有.dll都捆綁到一個大的dll(在創建XML的項目中)。

這樣做,你應該可以參考兩個版本 - 我最近不得不這樣做一個項目使用兩個不同版本的.dll。

要驗證該功能是否正常工作,您可以在添加NuGet包之前查看該項目的.dll大小,之後應該增加大小以添加所有其他捆綁的.dll文件。

我希望這有助於!如果您有任何問題,請告訴我!