Mon projet manque System.Windows.Interactivity
. Google dit que je dois installer Expression Blend, mais sur mon autre ordinateur, j'ai cette bibliothèque et je n'ai pas Expression Blend installé. Il devrait donc y avoir un autre moyen d'obtenir System.Windows.Interactivity
? Que devrais-je faire? (pour le moment je n'ai pas d'autre ordinateur donc je ne peux pas simplement copier cette bibliothèque :)
108
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
non:xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
comme dans tous les autres exemples que j'ai vus.Bien que ce problème soit assez ancien, je pense qu'il s'agit d'une nouvelle pertinente / de la réponse la plus récente: Microsoft Comportements XAML open-source et a publié un article de blog sur la mise à jour vers cette version: https://devblogs.microsoft.com/dotnet/open -sourcing-xaml-comportements-pour-wpf /
Pour vous épargner un clic, voici les principales étapes de la migration:
la source
Il existe un nouveau package NuGet qui contient le System.Windows.Interactivity.dll compatible avec:
Pour installer Expression.Blend.Sdk, exécutez la commande suivante dans la console du gestionnaire de package
http://www.nuget.org/packages/Expression.Blend.Sdk/
la source
System.Windows.Interactivity
. Pour résoudre, voir ma réponse ci-dessus.Le moyen le plus simple pourrait être de l'obtenir à partir de NuGet:
http://www.nuget.org/packages/System.Windows.Interactivity.WPF/
la source
Avec Blend pour Visual Studio , qui est inclus dans Visual Studio à partir de la version 2013, vous pouvez trouver la DLL dans le dossier suivant:
Vous devrez cependant ajouter la référence au
System.Windows.Interactivity.dll
vous-même, sauf si vous utilisez Blend pour Visual Studio avec un projet existant pour ajouter des fonctionnalités qui utilisent l'espace de noms Interactivity. Dans ce cas, Blend ajoutera automatiquement la référence.la source
Parfois, lorsque vous ajoutez une nouvelle bibliothèque, in introduit une version conflictuelle de
System.Windows.Interactivity.dll
.Par exemple, le package NuGet
MVVM light
peut nécessiter la version 4.2 deSystem.Windows.Interactivity.dll
, mais le package NuGetRx-XAML
peut nécessiter la version 4.5 deSystem.Windows.Interactivity.dll
. Cela empêchera le projet de fonctionner, car quelle que soit la version queSystem.Windows.Interactivity.dll
vous incluez, l'une des bibliothèques refusera de compiler.Pour résoudre le problème, ajoutez une redirection de liaison d'assembly en modifiant votre
app.config
pour ressembler à quelque chose comme ceci:Ne vous inquiétez pas de changer le
PublicKeyToken
, c'est constant dans toutes les versions, car cela dépend du nom du .dll, pas de la version.Assurez-vous que vous faites correspondre le
newVersion
dans votreappConfig
à la version réelle que vous finissez par pointer:la source
Une autre solution consiste à modifier votre installation actuelle de Visual Studio dans le programme d'installation de Visual Studio
Win+ en R
%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vs_installer.exe
ajoutant le
Blend for Visual Studio SDK for .NET
`` composant individuel '' sous `` SDK, bibliothèques et frameworks '':après avoir ajouté ce composant
System.Windows.Interactivity
doit apparaître à son emplacement habituelAdd Reference/Assemblies/Extensions
.Il semble que cela ne fonctionne que pour VS2017 ou une version antérieure. Pour les versions ultérieures, veuillez vous référer à d'autres réponses.
la source
Il est dans MVVM Light, récupérez-le sur la page de téléchargement MVVM Light .
la source
Install-Package MvvmLightLibs -Version 5.3.0
Je l'ai obtenu via le package NuGet Prism.WPF. (il inclut Windows.System.Interactivity)
la source
Si vous travaillez avec MVVM Light, vous devez utiliser le
System.Windows.Interactivity Version 4.0
(le NuGet .dll ne fonctionnera pas) que vous pouvez trouver sous:PathToProjectFolder\Software\packages\MvvmLightLibs.5.4.1.1\lib\net45\System.Windows.Interactivity.dll
Ajoutez simplement ce fichier .dll manuellement en tant que référence et cela devrait aller.
la source