58 votes

Une erreur dans un fichier .g.cs ?

Error   1   The type or namespace name 'BreadcrumbLib' could not be found (are you missing a using directive or an assembly reference?) YOU_CAN'T_KNOW_THE_PATH_OR_NAME.g.cs    16  7   someWPFapp

Et la ligne gênante est :

using BreadcrumbLib;

Hier, j'ai supprimé ce projet (BreadcrumbLib) de ma solution et le projet principal a fonctionné correctement.
Aujourd'hui, ça ne marche pas.

Que puis-je faire à ce sujet ?
Quelle est l'information qui permet à Visual Studio ou à tout autre programme qui crée les fichiers .g.cs de placer cette référence ?

99voto

Jeff Points 13306

Essayez de faire un nettoyage. Si cela ne fonctionne pas, supprimez les répertoires bin obj de votre solution, puis faites une reconstruction complète. Assurez-vous qu'aucun de vos fichiers XAML ne fait référence à ce composant (ce qui génère le fichier .g.cs).

1 votes

+1 pour ce que dit @Jeff (j'ai répondu à un appel téléphonique tout en tapant le mien !)

0 votes

Cela a fonctionné... Mais pourquoi mon projet a-t-il été construit hier (sur une autre machine) ? après J'ai supprimé BreadcrumbLib ?

0 votes

Lequel a fonctionné ? Nettoyer/reconstruire ? ou supprimer une référence à un fichier xaml ? Je soupçonne que cela a fonctionné hier parce que BreadcrumLib était toujours dans votre répertoire de construction bin ou obj, même si vous avez supprimé la référence.

32voto

Stuart Points 45896

Les fichiers .g.cs de mes projets sont généralement générés à partir de XAML.

Vérifiez que la BreadcrumbLib n'est pas référencée dans les références xmlns de l'un de vos fichiers XAML.

4 votes

Cela a marché pour moi, merci. De toute façon, le compilateur xaml devrait signaler une erreur dans le xaml et non dans le g.cs.

6voto

willem Points 4495

Cela m'est arrivé aussi parce que j'ai déplacé une partie de mon contenu Xaml vers un sous-contrôle utilisateur dans un dossier différent, et Resharper a déplacé les références Xmlns pour moi.

Cependant, au lieu d'utiliser la référence Xmlns qui était utilisée auparavant (spécifiquement : xmlns:ms="clr-namespace:Mindscape.WpfElements.Charting;assembly=Mindscape.WpfElements"), ReSharper l'a remplacée par ce qui suit :

xmlns:ms="http://namespaces.mindscape.co.nz/wpf" 

J'ai remplacé la référence incorrecte par l'ancienne référence correcte. Cela a résolu le problème pour moi.

3voto

Raphael Points 723

Je viens de recevoir ce message d'erreur.

Aucune des réponses données ici n'a résolu mon problème, mais j'ai regardé mon message d'avertissement et j'ai vu qu'un des projets a été construit en .NET 4.7 et l'autre en 4.5. J'ai mis tous les projets sur la même version, la même construction et maintenant je suis heureux !

3voto

Martijn Points 464

J'ai eu ce problème également. Pour moi, le problème était qu'un renommage ne se faisait pas entièrement dans les fichiers razor, donc les fichiers g.cs continuaient à être générés avec l'ancien nom.

J'ai résolu le problème en vérifiant les erreurs dans le fichier .razor correspondant et en les corrigeant manuellement.

0 votes

La même chose ici. J'ai renommé IdentityUser a ApplicationUser . Les pages qui ont échoué avec g.cs était due à l'utilisation de l'espace de noms de mon fichier ApplicationUser doivent être ajoutés.

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