Terkadang, saat Anda menambahkan perpustakaan baru, dalam memperkenalkan versi bentrok System.Windows.Interactivity.dll.
Misalnya, paket NuGet MVVM lightmungkin memerlukan v4.2 System.Windows.Interactivity.dll, tetapi paket NuGet Rx-XAMLmungkin memerlukan v4.5 System.Windows.Interactivity.dll. Ini akan mencegah proyek bekerja, karena apa pun versi yang System.Windows.Interactivity.dllAnda sertakan, salah satu pustaka akan menolak untuk dikompilasi.
Untuk memperbaikinya, tambahkan Pengalihan Pengikatan Majelis dengan mengedit Anda app.configagar terlihat seperti ini:
<?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>
Jangan khawatir tentang mengubah PublicKeyToken, itu konstan di semua versi, karena ini tergantung pada nama .dll, bukan versinya.
Pastikan bahwa Anda mencocokkan newVersiondalam Anda appConfigdengan versi sebenarnya yang Anda tunjuk pada:
