new - Wie lauten die verschiedenen "Build action"-Einstellungen in Visual Studio-Projekteigenschaften und was tun sie?




visual studio solution explorer deutsch (5)

Aus der Dokumentation:

Die BuildAction-Eigenschaft gibt an, was Visual Studio mit einer Datei ausführt, wenn ein Build ausgeführt wird. BuildAction kann einen von mehreren Werten haben:

Keine - Die Datei ist nicht in der Projektausgabegruppe enthalten und wird nicht im Erstellungsprozess kompiliert. Ein Beispiel ist eine Textdatei, die Dokumentation enthält, z. B. eine Readme-Datei.

Kompilieren - Die Datei wird in die Build-Ausgabe kompiliert. Diese Einstellung wird für Codedateien verwendet.

Inhalt - Die Datei wird nicht kompiliert, ist jedoch in der Inhaltsausgabegruppe enthalten. Diese Einstellung ist beispielsweise der Standardwert für eine HTM-Datei oder eine andere Art von Webdatei.

Eingebettete Ressource - Diese Datei ist in die Hauptprojekt-Build-Ausgabe als DLL oder ausführbare Datei eingebettet. Es wird normalerweise für Ressourcendateien verwendet.

In den meisten BuildAction nehmen Sie einfach das, was Visual Studio für Sie als Standard festgelegt hat ... Ich verweise auf die BuildAction Eigenschaft für jede im BuildAction Explorer ausgewählte Datei. Es gibt eine Reihe von Optionen und es ist schwierig zu wissen, was jeder von ihnen tun wird.


In VS2008 ist der Dokumenteintrag, der am nützlichsten zu sein scheint:

Windows Presentation Foundation Erstellen einer WPF-Anwendung (WPF)

ms-help: //MS.VSCC.v90/MS.MSDNQTR.v90.en/wpf_conceptual/html/a58696fd-bdad-4b55-9759-136dfdf8b91c.htm

ApplicationDefinition Gibt die XAML-Markupdatei an, die die Anwendungsdefinition enthält (eine XAML-Markupdatei, deren Stammelement Application ist). ApplicationDefinition ist obligatorisch, wenn Install wahr ist und OutputType winexe ist. Eine WPF-Anwendung und folglich ein MSBuild-Projekt kann 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 Code-Behind-Klasse implementiert.

Die häufigsten Seitenelemente sind XAML-Dateien, deren Elemente der obersten Ebene eine der folgenden sind:

Window (System.Windows..::.Window).

Page (System.Windows.Controls..::.Page).

PageFunction (System.Windows.Navigation..::.PageFunction<(Of <(T>)>)).

ResourceDictionary (System.Windows..::.ResourceDictionary).

FlowDocument (System.Windows.Documents..::.FlowDocument).

UserControl (System.Windows.Controls..::.UserControl).

Ressource Identifiziert eine Ressourcendatei, die in eine 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).


VS2010 verfügt über eine Eigenschaft für 'Aktion erstellen' und auch für 'In Ausgabeverzeichnis kopieren'. Eine Aktion von "None" wird also immer noch in das Build-Verzeichnis kopiert, wenn die Eigenschaft copy auf "Copy if Newer" oder "Copy Always" gesetzt ist.

Daher sollte eine Build-Aktion von 'Content' reserviert werden, um Inhalte anzuzeigen, auf die Sie über 'Application.GetContentStream' zugreifen können.

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.


Wie steht es mit dieser Seite von Microsoft Connect (Erläuterung der Typen DesignData und DesignDataWithDesignTimeCreatableTypes)? Zitat:

Im Folgenden werden die zwei Build-Aktionen für Beispieldatendateien beschrieben.

Beispieldaten .xaml-Dateien müssen einer der folgenden Build-Aktionen zugewiesen werden:

DesignData : Beispieldatentypen werden als falsche Typen erstellt. Verwenden Sie diese Build-Aktion, wenn die Beispieldatentypen nicht erstellt werden können oder über schreibgeschützte Eigenschaften verfügen, für die Sie Beispieldatenwerte definieren möchten.

DesignDataWithDesignTimeCreatableTypes : Beispieldatentypen werden mit den in der Beispieldatendatei definierten Typen erstellt. Verwenden Sie diese Build-Aktion, wenn die Beispieldatentypen mit ihrem leeren Standardkonstruktor erstellt werden können.

Nicht so unglaublich erschöpfend, aber es gibt zumindest einen Hinweis. Diese MSDN-Komplettlösung enthält auch einige Ideen. Ich weiß nicht, ob diese Build-Aktionen auch für Nicht-Silverlight-Projekte gelten.


  • Keine : Die Datei ist nicht in der Projektausgabegruppe enthalten und wird nicht im Buildprozess kompiliert. Ein Beispiel ist eine Textdatei, die Dokumentation enthält, z. B. eine Readme-Datei.

  • Kompilieren : Die Datei wird in die Build-Ausgabe kompiliert. Diese Einstellung wird für Codedateien verwendet.

  • Inhalt : Ermöglicht das Abrufen einer Datei (im selben Verzeichnis wie die Assembly) als Stream über Application.GetContentStream (URI). Damit diese Methode funktioniert, benötigt sie ein benutzerdefiniertes AssemblyAssociatedContentFile-Attribut, das Visual Studio gnadenlos hinzufügt, wenn Sie eine Datei als "Inhalt" markieren.

  • Eingebettete Ressource : Bettet die Datei in eine exklusive Assembly-Manifest-Ressource ein.

  • Ressource (nur WPF) : Bettet die Datei in eine freigegebene (durch alle Dateien in der Assembly mit ähnlicher Einstellung) Assembly-Manifest-Ressource namens AppName.g.resources ein.

  • Page (nur WPF) : Wird verwendet, um eine xaml Datei in baml zu baml . Das baml wird dann mit derselben Technik wie Resource eingebettet (dh verfügbar als `AppName.g.resources)

  • ApplicationDefinition (nur WPF) : Markieren Sie die XAML / class-Datei, die Ihre Anwendung definiert. Sie geben das Code-Behind mit dem x: Class = "Namespace.ClassName" an und legen das Startformular / die Seite mit StartupUri = "Window1.xaml" fest

  • SplashScreen (nur WPF) : Ein Bild, das als SplashScreen ist, wird automatisch angezeigt, wenn eine WPF-Anwendung geladen und dann ausgeblendet wird

  • DesignData : Kompiliert XAML-Viewmodels, sodass Benutzersteuerelemente mit Beispieldaten in Visual Studio in der Vorschau angezeigt werden können (verwendet Mock-Typen)

  • DesignDataWithDesignTimeCreatableTypes : Kompiliert XAML-Ansichtsmodelle, sodass Benutzersteuerelemente mit Beispieldaten in Visual Studio in der Vorschau angezeigt werden können (verwendet tatsächliche Typen)

  • EntityDeploy : (Entity Framework) : Wird zum Bereitstellen der Entity Framework-Artefakte verwendet

  • CodeAnalysisDictionary : Eine XML-Datei, die ein benutzerdefiniertes Wörterbuch für Rechtschreibregeln enthält





projects-and-solutions