visual studio for c# wpf

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 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

http://www.nuget.org/packages/Expression.Blend.Sdk/



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 .