2011-04-12 68 views
3

我需要從Castle.Core.dll調用特定函數,但似乎AutoMapper和Moq將Castle.Core合併到了它們的程序集中。如何從特定引用的DLL調用函數

這就是我需要調用

Castle.DynamicProxy.Generators.AttributesToAvoidReplicating.Add(typeof(System.Security.Permissions.UIPermissionAttribute)); 

但我得到一個Ambiguous reference因爲Castle.Core是在3個地點(AutoMapper,起訂量,以及獨立的DLL)

我可以在技術上提供」因爲它們全都由NuGet和Castle管理,所以NHib需要獨立核心,而其他dll是由AutoMapper和Moq nuget包引入的。

有什麼建議嗎?其他然後不依賴NuGet來管理我的庫參考?

+1

由於AutoMapper和起訂量都是開源的,你可以從源代碼重建它們在不嵌入Castle.Core.dll方式到他們的輸出DLL中。這樣,只會有一個Castle.Core程序集實例加載並且模糊性消失。 – 2011-04-12 17:29:33

+0

@Dan,這絕對是一個選項,但我想簡單地使用通過NuGet安裝的內容,並且未組裝的AutoMapper庫在NuGet中不可用。我認爲jbogard甚至發佈了一個未與外部庫合併的AutoMapper版本,所以我甚至不需要從源代碼編譯。 – 2011-04-12 18:44:01

回答

0

您可以通過枚舉正確程序集的類型來反射來調用它。