Іноді, коли ви додаєте нову бібліотеку, вводить збірну версію System.Windows.Interactivity.dll .
Наприклад, для пакета NuGet MVVM lightможе знадобитися v4.2 System.Windows.Interactivity.dll, але для пакета NuGet Rx-XAMLможе знадобитися v4.5 System.Windows.Interactivity.dll. Це не дозволить проекту працювати, адже незалежно від того, на якій версіїSystem.Windows.Interactivity.dll ви входите, одна з бібліотек відмовиться від компіляції.
Щоб виправити, додайте переспрямування прив'язки, що редагує збірку, відредагувавши так, app.configщоб він виглядав приблизно так:
<?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>
Не переживайте про зміну PublicKeyToken Це постійно в усіх версіях, оскільки це залежить від назви .dll, а не версії.
Переконайтесь, що ви збігаєтесь newVersionу вашій appConfigз фактичною версією, на яку в кінцевому підсумку вказуєте:
