Đôi khi, khi bạn thêm một thư viện mới, trong giới thiệu một phiên bản xung đột của System.Windows.Interactivity.dll
.
Ví dụ: gói NuGet MVVM light
có thể yêu cầu v4.2 trong System.Windows.Interactivity.dll
, nhưng gói NuGet Rx-XAML
có thể yêu cầu v4.5 của System.Windows.Interactivity.dll
. Điều này sẽ ngăn dự án hoạt động, bởi vì bất kể System.Windows.Interactivity.dll
bạn đưa vào phiên bản nào, một trong các thư viện sẽ từ chối biên dịch.
Để khắc phục, hãy thêm Chuyển hướng ràng buộc lắp ráp bằng cách chỉnh sửa của bạn app.config
để trông giống như sau:
<?xml version="1.0"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Windows.Interactivity"
publicKeyToken="31bf3856ad364e35"
culture="neutral"/>
<bindingRedirect oldVersion="4.0.0.0"
newVersion="4.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>
<appSettings>
<add key="TestKey" value="true"/>
</appSettings>
Đừng lo lắng về việc thay đổi PublicKeyToken
, không đổi trên tất cả các phiên bản, vì nó phụ thuộc vào tên của .dll, không phải phiên bản.
Đảm bảo rằng bạn khớp nội dung newVersion
của mình appConfig
với phiên bản thực tế mà bạn cuối cùng chỉ vào:
