Probleme nach dem kopieren der XAML-Steuerelemente von WPF-Anwendung, die eine Bibliothek-Klasse,
In den Prozess des refactoring code, ich traf auf mehrere build-Fehler wie diese:
Bibliothek-Projekt-Datei nicht angeben, element ApplicationDefinition.
Die Projekt-Datei enthält eine Eigenschaft mit Wert, der nicht gültig ist.
Wie können diese Fehler behoben werden?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beim kopieren und einfügen von Dateien entweder in einem Projekt oder einem anderen Projekt, Visual Studio hat die unangenehme Angewohnheit, nicht halten die gleiche BuildAction Eigenschaft. Es ändert sich Häufig die build action auf einem scheinbar beliebigen Wert, z.B. ApplicationDefinition, die bewirkt, dass build-Fehler.
Prüfung (in der Visual Studio properties-Fenster mit der ausgewählten Datei im Projektmappen-Explorer), dass jede Ihrer .xaml-Dateien haben eine BuildAction Eigenschaft von Seite und Ihre code-Dateien haben eine BuildAction Eigenschaft von Kompilieren.
Können Sie auch sehen können, obwohl Ihre build-Aktionen sind richtig eingestellt. Zum Beispiel, wenn Sie beginnen, Ihr Projekt als eine Anwendung, und wechseln später, dass es eine Bibliothek-Klasse. In diesem Fall müssen Sie auch daran denken, zu löschen App.xaml (und die entsprechende App.cs).
Die build action auf der Xaml-Steuerelement geändert werden müssen, aus ApplicationDefinition Seite (auf diese Eigenschaft zugegriffen werden kann durch einen Rechtsklick auf das Steuerelement im Projektmappen-Explorer mit der Strukturansicht, und wählen Sie Eigenschaften).
Dies ist nun auch bei uns kopieren und einfügen eines Bildes/einer XAML-Datei, die ClassLibrary-Projekt.
Ändern Sie die Build Action-Eigenschaft des Bildes zu Ressourcen
2 Jahre später und ich kam auf der Suche mit der gleichen Frage, aber war nur in der Lage, um die oben genannten Kommentare, um auszuschließen, andere Möglichkeiten und finden schließlich meine Antwort, wenn ich bemerkte die beiden Projekte hatten jeweils die gleiche gleichnamigen .xaml-Datei in einer einzigen Lösung.
Abstrakten Beispiel
1 Lösung 2 Projekte: PRINTNOTESPROJ und MAKENOTESPROJ.
Während der Entwicklung habe ich ein XAML Fenster in MAKENOTESPROJ was eigentlich ein Teil von PRINTNOTESPROJ in der Release-ausführbare Dateien.
Beim Wechsel zu Errichten->Release -, habe ich einfach geklickt-unten auf "PrintWindow.XAML" (in MAKENOTESPROJ & mit Kind PrintWindow.xaml.cs) und zog es auf meine PRINTNOTESPROJ.
*Das ist der Schlüssel. Ich vergaß, dass dies nur zu tun, KOPIEN der zugehörigen Dateien in das neue Projekt [zumindest in VS 2010]. Von diesem Zeitpunkt an erhielt ich Ihre Fehler, bis ich Sie GELÖSCHT, "PrintWindow.xaml" von meinem ursprünglichen Projekt MAKENOTESPROJ.
Ich hoffe, das macht Sinn... Bitte Kommentar mit Fragen!