我們有一個Silverlight 5項目,我們目前有一個共享庫DLL的文件夾。我們正在改變對NuGet這些圖書館的使用。如何解決MVVM Light NuGet Silverlight 5與Microsoft.Practices.ServiceLocation的衝突DLL
我們想要使用的一個NuGet包是MVVMLight,用於替換我們當前使用的MVVM Light SL4 DLL,當我們從SL4移動到SL5時,它們從未升級。
但是,當我們安裝包含SL5 DLL的NuGet包時,它自動將我們現有的對Microsoft.Practices.ServiceLocation DLL文件的引用更改爲與MVVM Light包一起提供的引用,它具有相同的版本號,不同的公鑰。
這與我們使用Prism庫的一些其他代碼產生了衝突,該Prism庫使用Microsoft.Practices.ServiceLocation DLL,但使用原始公鑰進行簽名。
很明顯,我們不能在同一個文件夾中兩次使用同一個命名的DLL,因此,如何解決這個問題,同時保持從NuGet安裝Prism和MVVM Light軟件包的任何建議。
非常感謝,
Martyn。
由於從@Filmindji得到下面的答案,我意識到我說衝突是與Caliburn.Micro,它不是,它是MVVMLight和微軟Prism庫之間的微軟版本之間的衝突。 Practices.ServiceLocation DLL,可以通過依賴於CommonServiceLocator包的MVVMLight包解決。 – MartynJones87
我有同樣的問題,並在這裏發佈。我已經從我的解決方案中暫時取出了所有nuget包。我不確定我是否理解乳清Laurent正在使用不同的簽名ServiceLocation.DLL,但我已經回去保留所有在我的PC上使用的引用,直到我覺得我可以再次相信nuget/MVVMLight ... – ecathell