Zum größten Teil nehmen Sie einfach das, was Visual Studio für Sie als Standard festgelegt hat ... Ich beziehe mich auf die BuildAction- Eigenschaft für jede im Projektmappen- Explorer ausgewählte Datei. Es gibt eine Reihe von Optionen und es ist schwierig zu wissen, was jede von ihnen tun wird.
AdditionalFiles
? Ich sehe es in VS 2015, konnte aber keine Referenz dafür finden.Aus der Dokumentation:
quelle
Seite - Nimmt die angegebene XAML-Datei und kompiliert sie in BAML und bettet diese Ausgabe in den verwalteten Ressourcenstrom für Ihre Assembly ein (insbesondere AssemblyName.g.resources). Wenn Sie die entsprechenden Attribute für das XAML-Stammelement in der haben Datei wird eine blah.g.cs-Datei erstellt, die eine Teilklasse des "Codebehind" für diese Seite enthält. Dies beinhaltet im Wesentlichen einen Aufruf des BAML-Goops, um die Datei in den Speicher zu rehydrieren und eine der Mitgliedsvariablen Ihrer Klasse auf die jetzt erstellten Elemente zu setzen (z. B. wenn Sie x: Name = "foo" auf ein Element setzen können Sie dies tun.foo.Background = Purple; oder ähnlich.
ApplicationDefinition - ähnlich wie Page, außer dass es weitergeht und den Einstiegspunkt für Ihre Anwendung definiert, der Ihr App-Objekt instanziiert, darauf ausgeführt wird, der dann den von der StartupUri-Eigenschaft festgelegten Typ instanziiert und Ihr Hauptfenster angibt .
Um klar zu sein, ist diese Frage in ihrer Ergebnismenge insgesamt unendlich. Jeder kann zusätzliche BuildActions definieren, indem er einfach eine MSBuild-Task erstellt. Wenn Sie im Verzeichnis% systemroot% \ Microsoft.net \ framework \ v {version} \ nachsehen und sich die Datei Microsoft.Common.targets ansehen, sollten Sie in der Lage sein, viele weitere zu entschlüsseln (z. B. mit VS Pro und höher). Es gibt eine "Schatten" -Aktion, mit der Sie private Accessoren generieren können, um beim Testen privater Klassen zu helfen.
quelle
VS2010 verfügt über eine Eigenschaft für 'Aktion erstellen' und auch für 'In Ausgabeverzeichnis kopieren'. Eine Aktion von 'Keine' wird also weiterhin in das Erstellungsverzeichnis kopiert, wenn die Kopiereigenschaft auf 'Bei Neuem kopieren' oder 'Immer kopieren' gesetzt ist.
Daher sollte eine Build-Aktion "Inhalt" reserviert werden, um den Inhalt anzugeben, auf den Sie über "Application.GetContentStream" zugreifen.
Ich habe die Einstellung 'Build Action' von 'None' und die Einstellung 'Copy to Output Direcotry' von 'Copy if Newer' für einige extern verknüpfte .config-Includes verwendet.
G.
quelle
In VS2008 ist der Dokumenteintrag am nützlichsten:
Windows Presentation Foundation Erstellen einer WPF-Anwendung (WPF)
ms-help: //MS.VSCC.v90/MS.MSDNQTR.v90.de/wpf_conceptual/html/a58696fd-bdad-4b55-9759-136dfdf8b91c.htm
ApplicationDefinition Identifiziert die XAML-Markup-Datei, die die Anwendungsdefinition enthält (eine XAML-Markup-Datei, deren Stammelement Application ist). ApplicationDefinition ist obligatorisch, wenn Install true und OutputType winexe ist. Eine WPF-Anwendung und folglich ein MSBuild-Projekt können nur eine ApplicationDefinition haben.
Seite Identifiziert eine XAML-Markup-Datei, deren Inhalt in ein Binärformat konvertiert und in eine Assembly kompiliert wird. Seitenelemente werden normalerweise in Verbindung mit einer CodeBehind-Klasse implementiert.
Die am häufigsten verwendeten Seitenelemente sind XAML-Dateien, deren Elemente der obersten Ebene eines der folgenden sind:
Ressource Identifiziert eine Ressourcendatei, die zu einer Anwendungsassembly kompiliert wird. Wie bereits erwähnt, verarbeitet UICulture Ressourcenelemente.
Inhalt Identifiziert eine Inhaltsdatei, die mit einer Anwendung verteilt wird. Metadaten, die die Inhaltsdatei beschreiben, werden in die Anwendung kompiliert (mithilfe von AssemblyAssociatedContentFileAttribute).
quelle
Wie wäre es mit dieser Seite von Microsoft Connect (Erläuterung der Typen DesignData und DesignDataWithDesignTimeCreatableTypes). Zitat:
Im Folgenden werden die beiden Erstellungsaktionen für Beispieldatendateien beschrieben.
Beispieldaten .xaml-Dateien müssen einer der folgenden Build-Aktionen zugewiesen werden:
DesignData : Beispieldatentypen werden als Faux-Typen erstellt. Verwenden Sie diese Erstellungsaktion, wenn die Beispieldatentypen nicht erstellt werden können oder schreibgeschützte Eigenschaften haben, für die Sie Beispieldatenwerte definieren möchten.
DesignDataWithDesignTimeCreatableTypes : Beispieldatentypen werden mit den in der Beispieldatendatei definierten Typen erstellt. Verwenden Sie diese Erstellungsaktion, wenn die Beispieldatentypen mit ihrem leeren Standardkonstruktor erstellt werden können.
Nicht so unglaublich erschöpfend, aber es gibt zumindest einen Hinweis. Diese MSDN-exemplarische Vorgehensweise enthält auch einige Ideen. Ich weiß nicht, ob diese Build-Aktionen auch für Nicht-Silverlight-Projekte gelten.
quelle
quelle