WPF: g.cs Dateifehler

8

Ich hatte zuvor einen Unterordner in meinem WPF-Anwendungsprojekt namens "Controls". Es enthielt ein WPF-Benutzersteuerelement. Ich entschied, dieses Benutzersteuerelement in meinen Ordner "Views" zu verschieben. Da der ursprüngliche Ordner leer war, entschied ich mich, ihn aus dem Projekt zu löschen.

Da das Benutzersteuerelement und der Ordner entfernt wurden, erhalte ich einen Kompilierungsfehler, weil das Benutzersteuerelement den Namespace ProjectName.Folder verwendet hat und jetzt nichts darauf verweist. MainWindow.g.cs ist was Referenzen ProjectName.Controls in einer using-Anweisung.

Ich weiß, dass * .g.cs von VS generiert werden und nicht bearbeitet werden können, da sie überschrieben werden. Was kann ich tun, damit der Namespace nicht in die Datei g.cs geschrieben wird? Ich habe versucht, meine Lösung / mein Projekt zu säubern, aber nichts hat funktioniert.

    
jlafay 17.11.2010, 15:50
quelle

6 Antworten

11

Ich hatte einen lokalen Verweis auf den Namespace Controls in meinem Xaml-Code (MainWindow.xaml). Ich entfernte die Referenz, bereinigte das Projekt und produzierte einen erfolgreichen Build.

    
jlafay 17.11.2010, 16:07
quelle
5

In Ihrer Benutzersteuerungsdatei

In Ihrer ClassName.xaml müssen Sie den Namespace wie folgt ändern:

%Vor%

Und in Ihrer ClassName.xaml.cs müssen Sie den Namespace wie folgt ändern

%Vor%

In beiden Dateien müssen Sie YourOldNamespace nach Bedarf in einen neuen Namespace ersetzen.

    
Akash Kava 18.11.2010 09:03
quelle
1

Ich hatte schon früher Probleme mit g.cs-Dateien in meinen Projekten. Da sie automatisch generiert werden, neige ich dazu, die Datei einfach manuell zu löschen und neu zu erstellen.

    
Jason 17.11.2010 16:12
quelle
1

Vergessen Sie nicht, dass Sie überprüfen müssen, ob die Eigenschaft Build Action beim Klicken auf die betroffene XAML-Datei auf PAGE (anstelle der Ressource) gesetzt ist. Das ist nützlich, wenn Sie ein XAML aus einem anderen Projekt kopieren, indem Sie kopieren und einfügen, um Zeit zu sparen.

    
dazonkah 02.02.2012 12:40
quelle
1

Sehen Sie sich auch App.xaml und all Ihre Ressourcenwörterbücher an. Aus welchem ​​Grund auch immer, VS 2012 ersetzt in Dateien / "Entire Solution" Option fand den alten Namespace-Verweis in App.xaml nicht, musste dies manuell ändern. Behebt es für mich.

    
nerd2know 19.09.2013 20:43
quelle
0

Vergessen Sie nicht, Ihre Generic.xaml-Datei zu ändern,

%Vor%     
Guillermo Hernandez 08.08.2014 19:53
quelle