A veces, cuando agrega una nueva biblioteca, introduce una versión conflictiva de System.Windows.Interactivity.dll.
Por ejemplo, el paquete NuGet MVVM lightpuede requerir v4.2 de System.Windows.Interactivity.dll, pero el paquete NuGet Rx-XAMLpuede requerir v4.5 de System.Windows.Interactivity.dll. Esto evitará que el proyecto funcione, porque no importa qué versión de System.Windows.Interactivity.dllusted incluya, una de las bibliotecas se negará a compilar.
Para solucionarlo, agregue un redireccionamiento de enlace de ensamblaje editando su app.configpara que se vea así:
<?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>
No se preocupe por cambiar PublicKeyToken, eso es constante en todas las versiones, ya que depende del nombre del .dll, no de la versión.
Asegúrese de hacer coincidir el newVersionen su appConfigcon la versión real a la que termina apuntando:
