103 votes

Comment corriger l'erreur "l'espace de noms x contient déjà une définition pour x" ? S'est produite après la conversion en VS2010

Spécifiquement, l'erreur se produit dans le fichier Resources.Designer.cs:

Erreur 2 L'espace de noms 'ModulusFE' contient déjà une définition pour 'StockChartX' Resources.Designer.cs 11 21 ModulusFE.StockChartX

J'ai fait des recherches sur Google et je suis toujours assez confus. Est-ce que quelqu'un sait quelque chose que je pourrais essayer?

J'ai essayé de reconstruire et de nettoyer, ainsi que de renommer le fichier Resources.Designer.cs dans l'espoir qu'il se reconstruirait, mais sans succès.

Le haut du code dit ceci:

// 
//     Ce code a été généré par un outil.
//     Version d'exécution: 4.0.30319.225
//
//     Les modifications apportées à ce fichier peuvent entraîner un comportement incorrect et seront perdues si
//     le code est régénéré.
// 

Toute idée serait appréciée.

7voto

Dalton Points 87

Ce qui m'a souvent aidé, c'était simplement de l'éteindre et de le rallumer.

Ctrp + shift + P -> Recharger la fenêtre dans VS Code

Fermer et ouvrir le projet/la fenêtre.

Nettoyer tous les contenus bin et obj (dans l'invite de commandes)

Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }

Après cela, il se peut que j'ai oublié quelque chose d'autre, comme une référence de package ou d'inclusion, mais en général, c'est le parseur/compilateur sous-jacent (omnisharp) qui est juste perturbé et qui a besoin d'un redémarrage pour fonctionner correctement à nouveau.

5voto

gonzobrains Points 2238

Cela vient de m'arriver. Ce qui s'est passé, c'est que j'ai dupliqué un projet qui était initialement sous contrôle source. Bien que j'aie correctement renommé tout, les permissions des fichiers étaient toujours en lecture seule. Lorsque j'ai commencé à modifier certains contrôles de formulaire, Visual Studio a automatiquement créé un fichier Resource1 car le fichier Resource original était en lecture seule.

Ce que j'ai fait pour résoudre cela était le suivant :

  1. autoriser les permissions d'écriture sur les fichiers du projet.
  2. supprimer le fichier Resource original
  3. Ctrl-A pour sélectionner tous les éléments du formulaire, puis Ctrl-X pour les couper.
  4. Enregistrer le formulaire.
  5. Ctrl-V pour les coller tous à nouveau.
  6. Enregistrer le formulaire.

J'ai dû faire cela car le code auto-généré ne se mettait pas à jour tout seul, donc je l'ai "forcé" à se mettre à jour en apportant une modification au formulaire. Ne pas le faire laissait tout un tas de code provenant d'éléments de formulaire qui n'existaient plus avant de modifier les permissions des fichiers.

4voto

DefenestrationDay Points 1110

J'avais un fichier xaml avec la définition suivante

mm2.Views était le nom d'un espace de noms dans mon application.

Pour corriger cela, j'ai correctement renommé l'objet xaml :

4voto

RSSM Points 480

J'ai eu un problème similaire et je l'ai résolu en enlevant toutes les copies/sauvegardes du fichier .cs du répertoire.

4voto

Neil Points 31

J'avais le même problème et c'était dû au fait de nommer une fonction dans le code source de la même manière que mon outil. Une simple erreur mais quelque chose à garder à l'esprit également.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X