Allgemeine MSBuild-Projektelemente
In MSBuild ist ein Element ein benannter Verweis auf eine oder mehrere Dateien. Elemente enthalten Metadaten wie Dateinamen, Pfade und Versionsnummern. Alle Projekttypen in Visual Studio weisen mehrere gemeinsame Elemente auf. Diese Elemente werden in der Datei Microsoft.Build.CommonTypes.xsddefiniert.
In diesem Artikel werden alle allgemeinen Projektelemente aufgeführt.
Reference
Stellt einen Assemblyverweis (verwaltet) im Projekt dar.
Elementmetadatenname | Beschreibung |
---|---|
HintPath | Optionale Zeichenfolge. Relativer oder absoluter Pfad der Assembly. |
Name | Optionale Zeichenfolge. Der Anzeigename der Assembly, z. B. "System.Windows.Forms". |
FusionName | Optionale Zeichenfolge. Gibt den einfachen oder starken Fusionsnamen für das Element an. Wenn dieses Attribut vorhanden ist, kann es Zeit sparen, da die Assemblydatei nicht geöffnet werden muss, um den Fusionsnamen abzurufen. |
SpecificVersion | Optionaler boolescher Wert. Gibt an, ob nur auf die Version im Fusionsnamen verwiesen werden soll. |
Decknamen | Optionale Zeichenfolge. Alle Aliase für den Verweis. |
Privat | Optionaler boolescher Wert. Gibt an, ob der Verweis in den Ausgabeordner kopiert werden soll. Dieses Attribut entspricht der Copy Local-Eigenschaft des Verweises, der sich in der Visual Studio-IDE befindet. |
COMReference
Stellt einen COM-Komponentenverweis (nicht verwaltet) im Projekt dar. Dieses Element gilt nur für .NET-Projekte.
Elementmetadatenname | Beschreibung |
---|---|
Name | Optionale Zeichenfolge. Der Anzeigename der Komponente. |
Guid | Erforderliche Zeichenfolge. Eine GUID für die Komponente im Formular {12345678-1234-1234-1234-123456781234}. |
VersionMajor | Erforderliche Zeichenfolge. Der Hauptteil der Versionsnummer der Komponente. Beispiel: "5", wenn die Vollversionsnummer "5.46" lautet. |
VersionMinor | Erforderliche Zeichenfolge. Der Nebenteil der Versionsnummer der Komponente. Beispiel: "46", wenn die Vollversionsnummer "5.46" lautet. |
EmbedInteropTypes | Optionaler boolescher Wert. Wenn true, betten Sie die Interoperabilitätstypen aus diesem Verweis direkt in Ihre Assembly ein, anstatt eine Interop-DLL zu generieren. |
Lcid | Optionale Zeichenfolge. Die LocaleID für die Komponente. |
WrapperTool | Optionale Zeichenfolge. Der Name des Wrappertools, das für die Komponente verwendet wird. Werte sind: 1. primär 2. tlbimp 3. primaryortlbimp 4. aximp |
Isoliert | Optionaler boolescher Wert. Gibt an, ob es sich bei der Komponente um eine reg-freie Komponente handelt. |
COMFileReference
Stellt eine Liste der Typbibliotheken dar, die an den TypeLibFiles
Parameter des ResolveComReference- Ziel übergeben werden. Dieses Element gilt nur für .NET-Projekte.
Elementmetadatenname | Beschreibung |
---|---|
WrapperTool | Optionale Zeichenfolge. Der Name des Wrappertools, das für die Komponente verwendet wird. Werte sind: 1. primär 2. tlbimp 3. primaryortlbimp 4. aximp |
NativeReference
Stellt eine systemeigene Manifestdatei oder einen Verweis auf eine solche Datei dar.
Elementmetadatenname | Beschreibung |
---|---|
Name | Erforderliche Zeichenfolge. Der Basisname der Manifestdatei. |
HintPath | Erforderliche Zeichenfolge. Der relative Pfad der Manifestdatei. |
ProjectReference
Stellt einen Verweis auf ein anderes Projekt dar.
ProjectReference
Elemente werden durch das ResolveProjectReferences
Ziel in Verweis Elemente umgewandelt, sodass alle gültigen Metadaten für einen Verweis auf ProjectReference
gültig sein können, wenn der Transformationsprozess sie nicht überschreibt.
Elementmetadatenname | Beschreibung |
---|---|
Name | Optionale Zeichenfolge. Der Anzeigename des Verweises. |
GlobalPropertiesToRemove | Optionaler string[] . Namen von Eigenschaften, die beim Erstellen des referenzierten Projekts entfernt werden sollen, z. B. RuntimeIdentifier;PackOnBuild . Der Standardwert ist leer. |
Projekt | Optionale Zeichenfolge. Eine GUID für den Verweis im Formular {12345678-1234-1234-1234-123456781234}. |
OutputItemType | Optionale Zeichenfolge. Elementtyp, in den Zielausgaben ausgegeben werden sollen. Der Standardwert ist leer. Wenn die Referenzmetadaten auf "true" (Standardeinstellung) festgelegt sind, werden die Zielausgaben zu Verweisen für den Compiler. |
ReferenceOutputAssembly | Optionaler boolescher Wert. Wenn diese Einstellung auf false festgelegt ist, wird die Ausgabe des referenzierten Projekts nicht als Reference dieses Projekts eingeschlossen, aber dennoch sichergestellt, dass das andere Projekt vor diesem Projekt erstellt wird. Standardmäßig wird true . |
Privat | Optionaler boolescher Wert. Gibt an, ob der Verweis in den Ausgabeordner kopiert werden soll. Dieses Attribut entspricht der Copy Local-Eigenschaft des Verweises, der sich in der Visual Studio-IDE befindet. |
SetConfiguration | Optionale Zeichenfolge. Legt die globale Eigenschaft Configuration für das referenzierte Projekt fest, z. B. Configuration=Release . |
SetPlatform | Optionale Zeichenfolge. Legt die globale Eigenschaft Platform für das referenzierte Projekt fest, z. B. Platform=AnyCPU . |
SetTargetFramework | Optionale Zeichenfolge. Legt die globale Eigenschaft TargetFramework für das referenzierte Projekt fest, z. B. TargetFramework=netstandard2.0 . |
SkipGetTargetFrameworkProperties | Optionaler boolescher Wert. Wenn true , wird das referenzierte Projekt erstellt, ohne den am besten kompatiblen TargetFramework Wert zu verhandeln. Standardmäßig wird false . |
Ziele | Optionaler string[] . Durch Semikolons getrennte Liste der Ziele in den referenzierten Projekten, die erstellt werden sollen. Der Standardwert ist der Wert von $(ProjectReferenceBuildTargets) , der standardmäßig leer ist und die Standardziele angibt. Wenn Sie in Visual Studio (im Gegensatz zu MSBuild.exe oder dotnet build ) erstellen, wird dadurch nicht verhindert, dass Visual Studio die Standardziele des referenzierten Projekts erstellt. |
Anmerkung
Es gibt einen Unterschied zwischen der Funktionsweise von Projektverweise zwischen .NET Framework und .NET Core (einschließlich .NET 5 und höher). In .NET Framework-Projekten sind Projektverweise nicht transitiv. Wenn Project1 auf Project2 verweist und Project2 auf Project3 verweist, können Sie project3 nicht mit Project3 aus Project1 codieren. In .NET Core (einschließlich .NET 5 und höher) sind Projektverweise jedoch transitiv. Sie können code für Project3 in Project1.
Kompilieren
Stellt die Quelldateien für den Compiler dar.
Elementmetadatenname | Beschreibung |
---|---|
DependentUpon | Optionale Zeichenfolge. Gibt die Datei an, von der diese Datei abhängig ist, um ordnungsgemäß zu kompilieren. |
AutoGen | Optionaler boolescher Wert. Gibt an, ob die Datei für das Projekt von der integrierten Entwicklungsumgebung (IDE) von Visual Studio generiert wurde. |
Verbinden | Optionale Zeichenfolge. Der notationale Pfad, der angezeigt werden soll, wenn sich die Datei physisch außerhalb des Einflusses der Projektdatei befindet. |
Sichtbar | Optionaler boolescher Wert. Gibt an, ob die Datei im Projektmappen-Explorer in Visual Studio angezeigt werden soll. |
CopyToOutputDirectory | Optionale Zeichenfolge. Bestimmt, ob die Datei in das Ausgabeverzeichnis kopiert werden soll. Werte sind: 1. Nie 2. Immer 3. PreserveNewest 4. IfDifferent |
EmbeddedResource
Stellt Ressourcen dar, die in die generierte Assembly eingebettet werden sollen.
Elementmetadatenname | Beschreibung |
---|---|
Kultur | Optionale Zeichenfolge. Gibt die Kultur der Ressourcendatei an. Wenn angegeben, leitet der Buildprozess die Kultur nicht automatisch basierend auf der Dateierweiterung ab (die von den Kulturen abhängig ist, die für .NET/OS auf dem Computer verfügbar sind, auf dem der Build gehostet wird). Das Festlegen Culture={culture identifier} oder WithCulture=false Metadaten wird dringend empfohlen. |
WithCulture | Optionaler Bool. Gibt an, dass die Datei kulturneutral ist und die Erkennung von Kultur durch AssignCulture Aufgabe übersprungen werden soll. Das Festlegen Culture={culture identifier} oder WithCulture=false Metadaten wird dringend empfohlen. |
DependentUpon | Optionale Zeichenfolge. Gibt die Datei an, von der diese Datei abhängig ist, um ordnungsgemäß zu kompilieren. |
Generator | Optionale Zeichenfolge. Der Name eines beliebigen Dateigenerators, der für dieses Element ausgeführt wird. |
LastGenOutput | Optionale Zeichenfolge. Der Name der Datei, die von jedem Dateigenerator erstellt wurde, der für dieses Element ausgeführt wurde. |
CustomToolNamespace | Optionale Zeichenfolge. Der Namespace, in dem jeder Dateigenerator, der für dieses Element ausgeführt wird, Code erstellen soll. |
Verbinden | Optionale Zeichenfolge. Der Notationalpfad wird angezeigt, wenn sich die Datei physisch außerhalb des Einflusses des Projekts befindet. |
Sichtbar | Optionaler boolescher Wert. Gibt an, ob die Datei im Projektmappen-Explorer in Visual Studio angezeigt werden soll. |
CopyToOutputDirectory | Optionale Zeichenfolge. Bestimmt, ob die Datei in das Ausgabeverzeichnis kopiert werden soll. Werte sind: 1. Nie 2. Immer 3. PreserveNewest 4. IfDifferent |
LogicalName | Erforderliche Zeichenfolge. Der logische Name der eingebetteten Ressource. |
Inhalt
Stellt Dateien dar, die nicht in das Projekt kompiliert werden, aber möglicherweise zusammen eingebettet oder veröffentlicht werden.
Elementmetadatenname | Beschreibung |
---|---|
DependentUpon | Optionale Zeichenfolge. Gibt die Datei an, von der diese Datei abhängig ist, um ordnungsgemäß zu kompilieren. |
Generator | Optionale Zeichenfolge. Der Name eines beliebigen Dateigenerators, der für dieses Element ausgeführt wird. |
LastGenOutput | Optionale Zeichenfolge. Der Name der Datei, die von einem Beliebigen Dateigenerator erstellt wurde, der für dieses Element ausgeführt wurde. |
CustomToolNamespace | Optionale Zeichenfolge. Der Namespace, in dem jeder Dateigenerator, der für dieses Element ausgeführt wird, Code erstellen soll. |
Verbinden | Optionale Zeichenfolge. Der notationale Pfad, der angezeigt werden soll, wenn sich die Datei physisch außerhalb des Einflusses des Projekts befindet. |
PublishState | Erforderliche Zeichenfolge. Der Veröffentlichungsstatus des Inhalts: -Vorgabe -Iinklusive -Ausgeschlossen -Datenfile -Voraussetzung |
IsAssembly | Optionaler boolescher Wert. Gibt an, ob es sich bei der Datei um eine Assembly handelt. |
Sichtbar | Optionaler boolescher Wert. Gibt an, ob die Datei im Projektmappen-Explorer in Visual Studio angezeigt werden soll. |
CopyToOutputDirectory | Optionale Zeichenfolge. Bestimmt, ob die Datei in das Ausgabeverzeichnis kopiert werden soll. Werte sind: 1. Nie 2. Immer 3. PreserveNewest 4. IfDifferent |
TargetPath | Optionale Zeichenfolge. Der Ausgabepfad (relativ zum konfigurations- und/oder plattformspezifischen Ausgabeverzeichnis) eines Elements, einschließlich des Dateinamens. Dies berücksichtigt die Link Metadaten, sofern angegeben. Wenn TargetPath nicht bereitgestellt wird, wird er während des Buildvorgangs berechnet. Siehe AssignTargetPath. |
Nichts
Stellt Dateien dar, die keine Rolle im Buildprozess haben sollten.
Elementmetadatenname | Beschreibung |
---|---|
DependentUpon | Optionale Zeichenfolge. Gibt die Datei an, von der diese Datei abhängig ist, um ordnungsgemäß zu kompilieren. |
Generator | Optionale Zeichenfolge. Der Name eines beliebigen Dateigenerators, der für dieses Element ausgeführt wird. |
LastGenOutput | Optionale Zeichenfolge. Der Name der Datei, die von jedem Dateigenerator erstellt wurde, der für dieses Element ausgeführt wurde. |
CustomToolNamespace | Optionale Zeichenfolge. Der Namespace, in dem jeder Dateigenerator, der für dieses Element ausgeführt wird, Code erstellen soll. |
Verbinden | Optionale Zeichenfolge. Der notationale Pfad, der angezeigt werden soll, wenn sich die Datei physisch außerhalb des Einflusses des Projekts befindet. |
Sichtbar | Optionaler boolescher Wert. Gibt an, ob die Datei im Projektmappen-Explorer in Visual Studio angezeigt werden soll. |
CopyToOutputDirectory | Optionale Zeichenfolge. Bestimmt, ob die Datei in das Ausgabeverzeichnis kopiert werden soll. Werte sind: 1. Nie 2. Immer 3. PreserveNewest 4. IfDifferent |
AssemblyMetadata
Stellt Assemblyattribute dar, die als [AssemblyMetadata(key, value)]
generiert werden sollen.
Elementmetadatenname | Beschreibung |
---|---|
Einschließen | Wird der erste Parameter (der Schlüssel) im AssemblyMetadataAttribute Attributkonstruktor. |
Wert | Erforderliche Zeichenfolge. Wird der zweite Parameter (der Wert) im AssemblyMetadataAttribute Attributkonstruktor. |
Anmerkung
Dieses Element gilt für Projekte, die das SDK für .NET 5 (und .NET Core) und höhere Versionen verwenden.
InternalsVisibleTo
Gibt Assemblys an, die als [InternalsVisibleTo(..)]
Assemblyattribute ausgegeben werden sollen.
Elementmetadatenname | Beschreibung |
---|---|
Einschließen | Der Assemblyname. |
Schlüssel | Optionale Zeichenfolge. Der öffentliche Schlüssel der Assembly. |
Anmerkung
Dieses Element gilt für Projekte, die das SDK für .NET 5 (und .NET Core) und höhere Versionen verwenden.
BaseApplicationManifest
Stellt das Basisanwendungsmanifest für den Build dar und enthält Sicherheitsinformationen zur ClickOnce-Bereitstellung.
CodeAnalysisImport
Stellt das zu importierende FxCop-Projekt dar.
Importieren
Stellt Assemblys dar, deren Namespaces vom Visual Basic-Compiler importiert werden sollen.
Ordner
Dieses Element wird nur von Visual Studio als Platzhalter für einen leeren Ordner verwendet. Wenn der Ordner aufgefüllt wird, wird er durch ein anderes Element ersetzt.