web-dev-qa-db-fra.com

Le nom "Interaction" n'existe pas dans l'espace de noms "http://schemas.Microsoft.com/expression/2010/interactivity"

J'ai utilisé System.Windows.Interactivity DLL dans plusieurs projets sans aucun problème . Maintenant, dans mon dernier projet, je ne parviens pas à le faire fonctionner. J'ai toujours l'erreur suivante:

Le nom "Interaction" n'existe pas dans l'espace de noms " http://schemas.Microsoft.com/expression/2010/interactivity ". 

<i:Interaction.Triggers>
    <EventTrigger EventName="SelectionChanged">
        <i:InvokeCommandAction Command="{Binding AddSelectLocomotifCommand}"
            CommandParameter="{Binding SelectedItem, ElementName=listBoxLocs}" />
    </EventTrigger>
</i:Interaction.Triggers>

Et l'espace de noms: 

xmlns:i="http://schemas.Microsoft.com/expression/2010/interactivity"

Microsoft.Expression.Interactions et System.Windows.Interactivity sont ajoutés aux références de projets et j'ai même copié les DLL dans un dossier de mon projet.

Une idée de comment ça se passe? J'utilise VS2012 avec .NET 4.5

28
PitAttack76

Ok, j'ai corrigé le problème . Lorsque j'ai installé Visual Studio 2012 Professional (avec Blend), j'avais la possibilité d'installer Blend for Visual Studio. J'ai pensé que c'était peut-être à l'origine du problème. J'ai donc rouvert le programme d'installation, choisi Modify et décoché l'option Blend for Visual Studio.

Et devinez quoi, cela a fonctionné. Pas plus d'erreurs sur l'interaction. Cela fonctionne à nouveau correctement! Quel est le problème, je ne sais pas, si quelqu'un le sait, dites-le-moi s'il vous plaît :)

<i:Interaction.Triggers>
    <i:EventTrigger EventName="MouseDoubleClick">
        <i:InvokeCommandAction Command="{Binding AddSelectLocomotifCommand}"
                                                     CommandParameter="{Binding SelectedItem, ElementName=listBoxLocs}" />
    </i:EventTrigger>
</i:Interaction.Triggers>
8
PitAttack76

Si vous avez ce problème avant tout le reste, vérifiez si vous avez une référence à la fois Microsoft.Expression.InteractionsETSystem.Windows.Interactivity

Je tiens simplement à vous avertir que j'ai essayé de faire tout ce que PitAttack76 avait écrit dans sa réponse et que cela ne désinstallait pas Blend pour moi. Il ne fait que désinstaller certaines parties. Ainsi, lorsque je redémarre mon ordinateur et que je veux ouvrir le projet dans Blend, il écrit un message d'erreur comme dans this thread . Alors je dois installer .NET framework 4.5.1 et Microsoft Build Tools 2013 pour que Blend recommence à fonctionner. Néanmoins, cela ne m’aide en aucune façon. Mon problème est que je n’ai que Microsoft.Expression.Interactions dans mes références.

45
Artholl

J'ai eu le même problème. Ce que j'ai fait était:

  1. Supprimez Microsoft.Expression.Interactions et System.Windows.Interactivity du projet dans Visual Studio tout en conservant l'espace de noms xmlns:i="http://schemas.Microsoft.com/expression/2010/interactivity".
  2. Ouvrez le même projet dans Blend.
  3. Ajoutez les versions .net correctes de Microsoft.Expression.Interactions et de System.Windows.Interactivity dans Blend (dans mon cas, il s'agissait de 4.5).
4
Murat Aykanat

J'ai supprimé les références manquantes Microsoft.Expression.Interactions AND System.Windows.Interactivity. Ensuite, j'ai installé le package Nuget Microsoft.SDK.Expression.Blend de Hansan Pringle. Ceci est installé les références manquantes. 

1
Eric Hewett

J'ai eu ce problème parce que je faisais référence à une version 4.5 de System.Windows.Interactivity mais que je construisais mon projet en .Net 4

0
lorengphd

Comme SQL et Java Learner a déclaré dans un commentaire:

Ouvrez le programme d’installation VS et assurez-vous que le SDK mélangé est installé lorsque Pour ce faire, vous aurez une référence à la version 4.5 sans avoir pour modifier le fichier de configuration ou un autre fichier. A défaut d'avoir le Blend SDK installé signifie que vous ne pourrez pas le changer de 4 à 4.5.

Cela a fonctionné pour moi. 

0
Gabriel