Іноді, коли ви додаєте нову бібліотеку, вводить збірну версію 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
з фактичною версією, на яку в кінцевому підсумку вказуєте: