Czasami po dodaniu nowej biblioteki w programie wprowadzana jest kolidująca wersja System.Windows.Interactivity.dll
.
Na przykład pakiet NuGet MVVM light
może wymagać wersji System.Windows.Interactivity.dll
4.2, ale pakiet NuGet Rx-XAML
może wymagać wersji 4.5 System.Windows.Interactivity.dll
. Zapobiegnie to działaniu projektu, ponieważ bez względu na to, którą wersję System.Windows.Interactivity.dll
dołączasz, jedna z bibliotek odmówi kompilacji.
Aby to naprawić, dodaj przekierowanie powiązania zestawu, edytując plik, app.config
aby wyglądał mniej więcej tak:
<?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>
Nie martw się o zmianę PublicKeyToken
, jest to stałe we wszystkich wersjach, ponieważ zależy to od nazwy pliku .dll, a nie wersji.
Upewnij się, że pokrywa się newVersion
w twojej appConfig
do aktualnej wersji, że nie skończysz wskazując na: