Bazen, yeni bir kitaplık eklediğinizde, in çakışan bir sürümünü sunar System.Windows.Interactivity.dll.
Örneğin, NuGet paketi v4.2'yi MVVM lightgerektirebilir System.Windows.Interactivity.dll, ancak NuGet paketi v4.5'i Rx-XAMLgerektirebilir System.Windows.Interactivity.dll. Bu, projenin çalışmasını engelleyecektir, çünkü hangi sürümünü System.Windows.Interactivity.dlldahil ederseniz edin, kütüphanelerden biri derlemeyi reddedecektir.
Düzeltmek için, aşağıdaki app.configgibi görünecek şekilde düzenleyerek bir Assembly Binding Redirect ekleyin :
<?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>
Sürüme değil PublicKeyToken, .dll'nin adına bağlı olduğundan, tüm sürümlerde sabit olan 'yi değiştirme konusunda endişelenmeyin .
newVersionKendi appConfigiçinde bulunduğunuz gerçek sürümle eşleştiğinden emin olun :
