Le nom “XYZ” n’existe pas dans l’espace de noms “clr-namespace: ABC”

Je travaillais sur la création d’extensions de balisage et j’ai commencé à avoir des comportements VS très étranges. J’ai extrait et identifié le problème dans la solution séparée. Le problème est que VS ne peut pas créer un object CLR dans XAML.

C’est ici:

Vue:

      

Code derrière:

 using System.Windows; namespace WpfApplication4 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } } } 

Classe de chien:

 namespace WpfApplication4 { public class Dog { } } 

App.Xaml (pas de code dans App.Xaml.cs):

     

Paramètres du projet

Exception que je reçois:

 Error 1 The name "Dog" does not exist in the namespace "clr-namespace:WpfApplication4". \\hopr1\folders$\vxk\Documents\Visual Studio 2012\Projects\WpfApplication4\MainWindow.xaml 6 9 WpfApplication4 

Je suis capable d’exécuter la solution, mais le concepteur échoue avec l’erreur “Annotation invalide” Des idées?

modifier

Je cours VS 2012 Update 2 La même solution fonctionne dans VS 2012 Update 1

Votre solution s’exécute sur un partage réseau. Les applications .Net (et Visual Studio) peuvent rencontrer des problèmes d’autorisation / d’access lors de l’exécution sur un partage réseau.

Copiez votre solution sur un lecteur local (en toute confiance) et tout devrait bien se passer.

Il est possible de faire fonctionner un lecteur réseau en toute confiance – vous pouvez trouver des réponses à ce problème sur StackOverflow et ailleurs – mais, d’après mon expérience, je continue à rencontrer des obstacles, alors essayez de l’éviter à moins qu’il soit absolument essentiel problème à scope de main.

Par exemple, cette question donne des instructions sur la façon de procéder:

Accordez le partage FullTrust à UNC pour Visual Studio 2012 et .Net 4.0

Je n’ai jamais essayé ceci avec VS2010 donc (comme indiqué dans le lien) vous pourriez avoir plus de joie avec 2012.

Pour tous ceux qui rencontrent cela maintenant, avant de faire quoi que ce soit d’autre … si vous êtes certain que vos classes / espaces de noms sont corrects et que la reconstruction n’a pas résolu votre problème:

Essayez de redémarrer Visual Studio

C’est tout!

Cela semble être un bogue avec Visual Studio 2012 (semble également affecter toutes les autres versions qui prennent en charge le développement XAML)


Mise à jour: Si le redémarrage de Visual Studio ne fonctionne pas, redémarrez le PC entier.

Mise à jour: comme mentionné dans les commentaires de @Dunk, si le redémarrage de Visual Studio ne fonctionne pas, essayez de supprimer le fichier .suo

J’ai rencontré le même problème, mais mes fichiers sont stockés localement. Mon IValueConverter réside dans un assembly différent de celui qui l’utilise. Même si VS2013 IntelliSense a suggéré ce qui suit, cela ne fonctionnait pas:

 xmlns:conv="clr-namespace:MySharedAssembly.Converters" 

Après avoir explicitement ajouté l’assemblage à la fin, cela a fonctionné:

 xmlns:conv="clr-namespace:MySharedAssembly.Converters;assembly=MySharedAssembly" 

J’ai bloqué cette erreur pendant des heures. Les assemblées et les espaces de noms étaient corrects, les classes et les références étaient également correctes. Comstackr et exécuter correctement, seul le concepteur avait des problèmes avec moi. La seule chose qui a fonctionné

  1. à des fins de conception swtich de x64 à x86
  2. pour le run et le debug, revenir à x64

J’utilise la bibliothèque 3d portable.library que je n’avais qu’en version x64.

Solution DLL téléchargée

  1. Débloquer le fichier .dll
    • Faites un clic droit dessus et sélectionnez les propriétés
    • Débloquez-le dans l’onglet “Général” (voir image)
  2. Assurez-vous que VS revalide le XAML (peut-être en le redémarrant)

entrer la description de l'image ici

Cela se produit toujours dans VS 2015. J’ai sorti SomeConverter dans App.xaml:

    

Strg-Shift-B
Remets ça – et ça a marché.

Créez un lien symbolique vers le partage réseau sur votre lecteur local.

Accédez à la ligne de commande et tapez mklink / DC: \ LOCALFOLDER \ YOURNETWORKPATH

Ensuite, ouvrez les projets de votre dossier local et tous les problèmes disparaissent. Maintenant, tous les fichiers seront toujours sur votre partage réseau 🙂

Je commençais un nouveau projet et j’avais ce problème. Aucune des solutions répertoriées ici n’a fonctionné pour moi, y compris la suppression du fichier suo, le déchargement / rechargement du projet, le redémarrage de VS, etc.

Ce qui a fonctionné pour moi, c’était que c’était un nouveau projet, je ne l’avais pas encore construit. J’ai supprimé l’élément Window.DataContext dans le presse-papiers, créé le projet une fois (shift-ctrl-b), puis ajouté à nouveau l’élément et il a fonctionné immédiatement.

Avant d’essayer une solution complète, essayez ce qui suit:

J’ai eu exactement le même problème, j’ai fermé le Window / Form à l’origine de l’erreur, puis j’ai exécuté le projet,

L’erreur a semblé disparaître une fois que le projet a été exécuté avec succès et n’est pas revenu.

J’espère que cela aidera quiconque cherche une solution rapide.

J’ai eu la même erreur dans Visual Studio 2015 et j’ai réussi à faire fonctionner le concepteur en décochant la case “Désactiver le bouton du code du projet”.

Capture d'écran du bouton Designer

Cela m’agace depuis des années 2008, 10, 12, 13.

Chaque fois que cela se produit (et oui, je travaille sur un partage réseau – je ne peux pas l’éviter), je ferme VS, renommez le FOLDER et rouvrez le projet. 9 fois sur 10, cela fonctionne. Pour un moment.

Pour toute autre personne coincée.

Ce qui a fonctionné pour moi, c’était de changer l’alias de l’espace de noms de local à tout autre chose.

 xmlns:local="clr-namespace:ExampleNameSpace.Folder" />      

à

 xmlns:blah="clr-namespace:ExampleNameSpace.Folder" />      

J’espère que cela t’aides!

Eu le même problème. Ce qui m’a corrigé, c’est quand j’ai réalisé que le cours en question était marqué comme internal :

 internal class MyClass { } 

Après l’avoir modifié en public , le concepteur a pu comstackr correctement le fichier XAML.

Ce qui a fonctionné pour moi, c’est de changer le MOVE en XCOPY dans Post Build dans les project properties du project properties , puis re-build le projet. Le concepteur peut vouloir la DLL dans le dossier de sortie du projet. J’utilise vs 2015

Après avoir redémarré Visual Studio, j’ai reçu une erreur IntelliSense qui m’a orienté dans la bonne direction.

Étant donné que «Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.Metadata.ReflectionTypeNode» est implémenté dans le même assembly, vous devez définir l’atsortingbut x: Name plutôt que Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.Metadata. Atsortingbut ReflectionPropertyNode.

J’ai donc changé ceci:

  

Pour ça:

  

Et puis ça a fonctionné. Alors, ça nous donne quoi? 42 causes possibles? Irréel…

J’ai aussi un projet sur un partage réseau et cette erreur est apparue de manière inattendue. J’ai essayé toutes les suggestions ci-dessus, y compris la copie du projet sur un disque local, le nettoyage, la reconstruction et l’ouverture et la fermeture de VS. Aucun d’entre eux n’a résolu le problème.

Ce qui a fonctionné pour moi était simplement de supprimer la référence d’espace de noms au dossier viewmodels (xlmns: vm = “clr-namespace: Myproj.ViewModel”).

J’ai ajouté le type à mon xaml (DataTemplate DataType = “{x: Type vm: myviewmodel}”). Visual Studio a alors détecté que l’espace de noms était manquant et j’ai cliqué sur l’invite pour append l’espace de noms.

Le déclarer dans un dictionnaire de ressources a fonctionné pour moi.

    

Le problème semble être que l’parsingur se chie quand il voit une extension de balisage comme Converter={c:IsNullConverter}}" , mais cela convient avec: Converter={StaticResource IsNullConverter} . Je pense que c’est peut-être là que réside le problème.

Windows 10, VS 2013

J’ai eu 3 erreurs dans le projet et je me suis concentré sur cette erreur concernant ObjectDataProvider. J’ai découvert que cette erreur ne peut pas être résolue si le projet ne peut pas générer en raison d’autres erreurs. J’ai eu quelques autres gestionnaires d’événements dont le code avait été supprimé. Je devais également supprimer le code qui tentait de lier les gestionnaires aux contrôles. Ensuite, le projet a été capable de générer et de voir que la classe que je tentais de référencer à partir d’ObjectDataProvider était disponible.

Le nom “XYZ” n’existe pas dans l’espace de noms “clr-namespace: ABC”

RESOLU !!

vérifier si la fonction que vous souhaitez appeler / la classe est présente dans l’espace de noms

Exemple correct:

Fichier .XAML

   xmlns:m="clr-namespace:namespace1" Title="MainWindow" Height="350" Width="525">      

  ItemsSource="{Binding Source={StaticResource Runni}}" />   

// SsortingngData est le nom de la classe dans xaml.cs et GetSsortingng est la fonction

Fichier .XAML.CS

  namespace namespace1 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } } // the class SsortingngData is defined in namespace namespace 1 public class SsortingngData { ObservableCollection lst = new ObservableCollection(); public SsortingngData() { lst.Add("Abhishek"); lst.Add("Abhijit"); lst.Add("Kunal"); lst.Add("Sheo"); } public ObservableCollection GetSsortingngs() { return lst; } } } 

Mauvais exemple:

Fichier .XAML

   xmlns:m="clr-namespace:namespace1" Title="MainWindow" Height="350" Width="525">      

  ItemsSource="{Binding Source={StaticResource Runni}}" />   

.XAML.CS

 namespace namespace1 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } //The SsortingngData is defined in the class mainWindow not in namespace namespace1 public class SsortingngData { ObservableCollection lst = new ObservableCollection(); public SsortingngData() { lst.Add("Abhishek"); lst.Add("Abhijit"); lst.Add("Kunal"); lst.Add("Sheo"); } public ObservableCollection GetSsortingngs() { return lst; } } } } 

Dans mon cas, cette erreur était due au fait que des assemblys signés étaient activés avec “retarder uniquement”. La solution consistait à exécuter la commande sn -Vr * depuis la console du développeur (en tant qu’administrateur). Ceci enregistre l’assemblage pour vérification en sautant. Et puis redémarrez Visual Studio.

Cela peut être dû à la configuration de la version. Designer doit être utilisé à partir de la configuration Debug.