c# - studio - ¿Cómo agregar System.Windows.Interactivity al proyecto?
blend for visual studio 2017 download (8)
A veces, cuando agrega una nueva biblioteca, introduce una versión conflictiva de System.Windows.Interactivity.dll
.
Por ejemplo, la MVVM light
MVVM del paquete MVVM light
podría requerir v4.2 de System.Windows.Interactivity.dll
, pero el paquete NuGet Rx-XAML
podría requerir v4.5 de System.Windows.Interactivity.dll
. Esto evitará que el proyecto funcione, ya que independientemente de la versión de System.Windows.Interactivity.dll
que incluya, una de las bibliotecas se negará a compilar.
Para solucionarlo, agregue un Redireccionamiento de app.config
de app.config
editando su app.config
para que se vea algo como esto:
<?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 el PublicKeyToken
, eso es constante en todas las versiones, ya que depende del nombre de .dll, no de la versión.
Asegúrese de hacer coincidir el newVersion
en su appConfig
con la versión real a la que termina apuntando:
Mi proyecto falta System.Windows.Interactivity
. Google dice que tengo que instalar Expression Blend, pero en mi otra computadora tengo esta biblioteca y no tengo Expression Blend instalado. Entonces debería haber otra forma de obtener System.Windows.Interactivity
? ¿Qué tengo que hacer? (En este momento no tengo otra computadora, así que no puedo simplemente copiar esta biblioteca :)
Con Blend para Visual Studio , que se incluye en Visual Studio a partir de la versión 2013, puede encontrar la DLL en la siguiente carpeta:
C:/Program Files (x86)/Microsoft SDKs/Expression/Blend/.NETFramework/v4.5/Libraries
Sin embargo, tendrá que agregar la referencia a System.Windows.Interactivity.dll
, a menos que use Blend para Visual Studio con un proyecto existente para agregar una funcionalidad que haga uso del espacio de nombres Interactivity. En ese caso, Blend agregará la referencia automáticamente.
Está en MVVM Light, obténgalo de la página de descarga de MVVM Light .
Está en el SDK de Blend, hay un paquete de NuGet para él o puede obtenerlo here (fuera de fecha).
Hay un nuevo paquete de NuGet que contiene System.Windows.Interactivity.dll que es compatible con:
- WPF 4.0, 4.5
- Silverligt 4.0, 5.0
- Windows Phone 7.1, 8.0
- Tienda Windows 8, 8.1
Para instalar Expression.Blend.Sdk, ejecute el siguiente comando en la Consola del Administrador de paquetes
PM> Install-Package Expression.Blend.Sdk
La forma más fácil podría ser obtenerlo de NuGet:
http://www.nuget.org/packages/System.Windows.Interactivity.WPF/
Lo obtuve a través del Prisma.WPF NuGet-Package. (Incluye Windows.Sistema.Interactividad)
Una solución alternativa es modificar su instalación actual de Visual Studio en el instalador de Visual Studio
Win + R %ProgramFiles(x86)%/Microsoft Visual Studio/Installer/vs_installer.exe
agregando Blend for Visual Studio SDK for .NET
''Componente individual'' en ''SDK, bibliotecas y marcos'':
después de agregar este componente, System.Windows.Interactivity
debe aparecer en su ubicación regular Add Reference/Assemblies/Extensions
.