Falta mi proyecto 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 obtenerlo System.Windows.Interactivity
? ¿Qué tengo que hacer? (ahora mismo no tengo otra computadora, así que no puedo simplemente copiar esta biblioteca :)
107
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
no:xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
como en todos los demás ejemplos que he visto.Aunque este problema es bastante antiguo, creo que esta es una noticia relevante / la respuesta más reciente: Comportamientos XAML de código abierto de Microsoft y publicó una publicación de blog sobre cómo actualizar a esta versión: https://devblogs.microsoft.com/dotnet/open -sourcing-xaml-comportamientos-para-wpf /
Para ahorrarle un clic, estos son los pasos principales para migrar:
fuente
Hay un nuevo paquete NuGet que contiene System.Windows.Interactivity.dll que es compatible con:
Para instalar Expression.Blend.Sdk, ejecute el siguiente comando en la Consola del Administrador de paquetes
http://www.nuget.org/packages/Expression.Blend.Sdk/
fuente
System.Windows.Interactivity
. Para resolverlo, vea mi respuesta arriba.La forma más sencilla podría ser obtenerlo de NuGet:
http://www.nuget.org/packages/System.Windows.Interactivity.WPF/
fuente
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:
Sin
System.Windows.Interactivity.dll
embargo, tendrá que agregar la referencia a usted mismo, a menos que use Blend para Visual Studio con un proyecto existente para agregar funcionalidad que hace uso del espacio de nombres de Interactividad. En ese caso, Blend agregará la referencia automáticamente.fuente
A veces, cuando agrega una nueva biblioteca, introduce una versión conflictiva de
System.Windows.Interactivity.dll
.Por ejemplo, el paquete NuGet
MVVM light
puede requerir v4.2 deSystem.Windows.Interactivity.dll
, pero el paquete NuGetRx-XAML
puede requerir v4.5 deSystem.Windows.Interactivity.dll
. Esto evitará que el proyecto funcione, porque no importa qué versión deSystem.Windows.Interactivity.dll
usted incluya, una de las bibliotecas se negará a compilar.Para solucionarlo, agregue un redireccionamiento de enlace de ensamblaje editando su
app.config
para que se vea así: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
newVersion
en suappConfig
con la versión real a la que termina apuntando:fuente
La solución alternativa es modificar su instalación actual de Visual Studio en Visual Studio Installer
Win+ R
%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vs_installer.exe
agregando el
Blend for Visual Studio SDK for .NET
'Componente individual' en 'SDK, bibliotecas y marcos':System.Windows.Interactivity
debería aparecer en su ubicación habitualAdd Reference/Assemblies/Extensions
.Parece que esto solo funcionaría para VS2017 o anterior. Para versiones posteriores, consulte otras respuestas.
fuente
Está en MVVM Light, consígalo en la página de descarga de MVVM Light .
fuente
Install-Package MvvmLightLibs -Version 5.3.0
Lo obtuve a través del paquete Prism.WPF NuGet. (incluye Windows.System.Interactivity)
fuente
Si está trabajando con MVVM Light, debe usar el
System.Windows.Interactivity Version 4.0
(el .dll de NuGet no funcionará) que puede encontrar en:PathToProjectFolder\Software\packages\MvvmLightLibs.5.4.1.1\lib\net45\System.Windows.Interactivity.dll
Simplemente agregue este .dll manualmente como referencia y debería estar bien.
fuente