Terkadang, saat Anda menambahkan perpustakaan baru, dalam memperkenalkan versi bentrok System.Windows.Interactivity.dll
.
Misalnya, paket NuGet MVVM light
mungkin memerlukan v4.2 System.Windows.Interactivity.dll
, tetapi paket NuGet Rx-XAML
mungkin memerlukan v4.5 System.Windows.Interactivity.dll
. Ini akan mencegah proyek bekerja, karena apa pun versi yang System.Windows.Interactivity.dll
Anda sertakan, salah satu pustaka akan menolak untuk dikompilasi.
Untuk memperbaikinya, tambahkan Pengalihan Pengikatan Majelis dengan mengedit Anda app.config
agar 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 newVersion
dalam Anda appConfig
dengan versi sebenarnya yang Anda tunjuk pada: