i Auparavant, j'ai eu un sous-dossier dans mon projet d'application WPF appelé "contrôles". Il contenait un contrôle utilisateur WPF. J'ai décidé de déplacer ce contrôle de l'utilisateur sur mon dossier "Vues". Étant donné que le dossier d'origine était vide, j'ai décidé de la supprimer du projet. p>
Parce que le contrôle de l'utilisateur et le dossier sont supprimés, je reçois une erreur de compilation car la commande utilisateur utilise l'espace de nom Je sais que * .g.cs sont générés par VS et ne peuvent pas être édités car il sera écrasé. Que dois-je faire pour ne pas permettre que l'espace de noms soit écrit dans le fichier G.CS? J'ai essayé de nettoyer ma solution / projet et ma reconstruction, mais rien n'a fonctionné. P> ProjectName.Folder Code> Noms et désormais rien ne fait référence. MAINWINDOW.G.CS est quelles références
projetName.Controls code> dans une instruction utilisant. p>
6 Réponses :
J'ai eu une référence locale à l'espace de noms de contrôle dans mon code XAML (MAINWINDOW.XAML). J'ai supprimé la référence, nettoyai le projet et produit une construction réussie. P>
J'ai eu le même problème, mais beaucoup plus plus profondément. J'avais l'utilisation de l'espace de noms ancien dans des dossiers référencés.
Vous êtes roi @chopikadze qui était exactement mon problème que j'ai recherché des heures sans chance tant que j'ai gagné sur votre petit commentaire ...
Correct; Il semble que si vous lisez "yourclassname.g.cs" comme "yourclassname.xaml", ouvrez ce fichier et corrigez les déclarations d'espace de noms obsolètes, le problème est parti et Bob est votre oncle.
J'ai eu des problèmes avec les fichiers G.CS dans mes projets avant également. Comme ils sont générés automatiquement, j'ai tendance à supprimer manuellement le fichier manuellement et à reconstruire. P>
Référence future: Vous pouvez supprimer des fichiers "stables" en nettoyant un projet ou une solution.
@Jlafay, merci. J'y oublie parfois cela en raison de problèmes que j'ai avec propre dans la solution de mon projet actuel.
Dans votre fichier de contrôle utilisateur,
Dans votre nom de classe.xaml, vous devez modifier l'espace de noms comme indiqué ci-dessous p> et dans votre nom de classe.xaml.cs, Vous devez modifier l'espace de nom comme indiqué ci-dessous P> dans les deux fichiers, vous devez remplacer YouroldNamespace à un nouvel espace de noms au besoin. P> P>
Désolé j'ai oublié d'inclure ces informations dans ma question. J'ai modifié les espaces de noms de manière appropriée dans les fichiers Controls XAML & CS. Le problème était que mon MAINWINDOW.XAML a référencé l'ancien espace de noms et c'est pourquoi MainWindow.g.cs avait généré à l'aide de l'énoncé de l'ancien espace de noms. J'ai corrigé le XAML et ça a fonctionné bien.
N'oubliez pas aussi que vous devez vérifier si la propriété de construction d'action lorsque vous cliquez sur le fichier XAML affecté, est défini sur la page (au lieu de ressource). Ceci est utile de savoir lorsque vous copiez un XAML d'un autre projet à l'aide de Copy-Clet pour gagner du temps. P>
Regardez également App.xaml et tous vos dictionnaires de ressources. Pour une raison quelconque, le remplacement de VS 2012 dans l'option Fichiers / "Toute la solution" n'a pas trouvé l'ancienne référence d'espace de noms dans App.xaml, devait changer manuellement cela. Corrigé pour moi. P>
N'oubliez pas de changer votre fichier générique.xaml aussi,
<ResourceDictionary xmlns:local="clr-namespace:MyOldNameSpace"> </ResourceDictionary>
Related: Stackoverflow.com/Questtions/4804172/...