EigenschaftenfunktionenProperty functions

Eigenschaftenfunktionen sind Aufrufe von .NET Framework-Methoden, die in MSBuild-Eigenschaftsdefinitionen erscheinen.Property functions are calls to .NET Framework methods that appear in MSBuild property definitions. Im Gegensatz zu Aufgaben können Eigenschaftenfunktionen außerhalb von Zielen verwendet werden, und sie werden ausgewertet, bevor Ziele ausgeführt werden.Unlike tasks, property functions can be used outside of targets, and are evaluated before any target runs.

Sie können die Systemzeit lesen, Zeichenfolgen vergleichen, reguläre Ausdrücke abgleichen und viele weitere Aktionen im Buildskript ausführen, ohne MSBuild-Aufgaben zu verwenden.Without using MSBuild tasks, you can read the system time, compare strings, match regular expressions, and perform other actions in your build script. MSBuild versucht, eine Zeichenfolge in eine Zahl und eine Zahl in eine Zeichenfolge zu konvertieren und nimmt je nach Bedarf andere Konvertierungen vor.MSBuild will try to convert string to number and number to string, and make other conversions as required.

Zeichenfolgenwerte, die von Eigenschaftsfunktionen zurückgegeben werden, haben als Sonderzeichen ein Escapezeichen.String values returned from property functions have special characters escaped. Wenn Sie möchten, dass der Wert so behandelt wird, als wäre er direkt in der Projektdatei platziert, verwenden Sie $([MSBuild]::Unescape()), um die Sonderzeichen zu entfernen.If you want the value to be treated as though it was put directly in the project file, use $([MSBuild]::Unescape()) to unescape the special characters.

Eigenschaftenfunktionen sind in .NET Framework 4 und höher verfügbar.Property functions are available with .NET Framework 4 and later.

Syntax einer EigenschaftenfunktionProperty function syntax

Nachfolgend sehen Sie drei Arten von Eigenschaftenfunktionen; jede Funktion hat eine andere Syntax:These are three kinds of property functions; each function has a different syntax:

  • Zeichenfolgen-(Instanz-)EigenschaftenfunktionenString (instance) property functions
  • Statische EigenschaftenfunktionenStatic property functions
  • MSBuild-EigenschaftenfunktionenMSBuild property functions

Zeichenfolgen-EigenschaftenfunktionenString property functions

Alle Buildeigenschaftswerte sind lediglich Zeichenfolgenwerte.All build property values are just string values. Sie können Zeichenfolgen-(Instanz-)Methoden für beliebige Eigenschaftswerte verwenden.You can use string (instance) methods to operate on any property value. Sie können beispielsweise mithilfe des folgendes Codes den Laufwerksnamen (die ersten drei Buchstaben) aus einer Buildeigenschaft extrahieren, die einen vollständigen Pfad darstellt:For example, you can extract the drive name (the first three characters) from a build property that represents a full path by using this code:

$(ProjectOutputFolder.Substring(0,3))

Statische EigenschaftenfunktionenStatic property functions

In Ihrem Buildskript können Sie auf die statischen Eigenschaften und Methoden vieler Systemklassen zugreifen.In your build script, you can access the static properties and methods of many system classes. Um den Wert einer statischen Eigenschaft abzurufen, verwenden Sie die folgende Syntax, wobei <Class> der Name der Systemklasse und <Property> der Name der Eigenschaft ist.To get the value of a static property, use the following syntax, where <Class> is the name of the system class and <Property> is the name of the property.

$([Class]::Property)

Sie können beispielsweise den folgenden Code verwenden, um eine Buildeigenschaft auf das aktuelle Datum und die aktuelle Uhrzeit festzulegen.For example, you can use the following code to set a build property to the current date and time.

<Today>$([System.DateTime]::Now)</Today>

Um eine statische Methode aufzurufen, verwenden Sie die folgende Syntax, wobei <Class> der Name der Systemklasse, <Method> der Name der Methode und (<Parameters>) die Parameterliste für die Methode ist:To call a static method, use the following syntax, where <Class> is the name of the system class, <Method> is the name of the method, and (<Parameters>) is the parameter list for the method:

$([Class]::Method(Parameters))

Verwenden Sie beispielsweise das folgende Skript, um eine Buildeigenschaft auf eine neu GUID festzulegen:For example, to set a build property to a new GUID, you can use this script:

<NewGuid>$([System.Guid]::NewGuid())</NewGuid>

In statischen Eigenschaftenfunktionen können Sie eine beliebige statische Methode oder Eigenschaft der folgenden Systemklassen verwenden:In static property functions, you can use any static method or property of these system classes:

Außerdem können Sie die folgenden statischen Methoden und Eigenschaften verwenden:In addition, you can use the following static methods and properties:

Aufrufen von Instanzmethoden für statische EigenschaftenCalling instance methods on static properties

Wenn Sie auf eine statische Eigenschaft zugreifen, die eine Objektinstanz zurückgibt, können Sie die Instanzmethoden dieses Objekts aufrufen.If you access a static property that returns an object instance, you can invoke the instance methods of that object. Um eine statische Methode aufzurufen, verwenden Sie die folgende Syntax, wobei <Class> der Name der Systemklasse, <Property> der Name der Eigenschaft, <Method> der Name der Methode und (<Parameters>) die Parameterliste für die Methode ist:To invoke an instance method, use the following syntax, where <Class> is the name of the system class, <Property> is the name of the property, <Method> is the name of the method, and (<Parameters>) is the parameter list for the method:

$([Class]::Property.Method(Parameters))

Der Name der Klasse muss mit dem Namespace vollqualifiziert sein.The name of the class must be fully qualified with the namespace.

Sie können beispielsweise den folgenden Code verwenden, um eine Buildeigenschaft auf das heutige Datum festzulegen.For example, you can use the following code to set a build property to the current date today.

<Today>$([System.DateTime]::Now.ToString('yyyy.MM.dd'))</Today>

MSBuild-EigenschaftenfunktionenMSBuild property functions

In Ihrem Build kann auf mehrere statische Methoden zugegriffen werden, um Unterstützung für arithmetische, bitweise logische und Escapezeichen bereitzustellen.Several static methods in your build can be accessed to provide arithmetic, bitwise logical, and escape character support. Um eine statische Methode aufzurufen, verwenden Sie die folgende Syntax, wobei <Method> der Name der Methode und (<Parameters>) die Parameterliste für die Methode ist.You access these methods by using the following syntax, where <Method> is the name of the method and (<Parameters>) is the parameter list for the method.

$([MSBuild]::Method(Parameters))

Um beispielsweise zwei Eigenschaften mit numerischen Werten zu addieren, verwenden Sie den folgenden Code.For example, to add together two properties that have numeric values, use the following code.

$([MSBuild]::Add($(NumberOne), $(NumberTwo)))

Nachfolgend finden Sie eine Liste mit MSBuild-Eigenschaftenfunktionen:Here is a list of MSBuild property functions:

FunktionssignaturFunction signature BeschreibungDescription
double Add(double a, double b)double Add(double a, double b) Addiert zwei double-Werte.Add two doubles.
long Add(long a, long b)long Add(long a, long b) Addiert zwei long-Werte.Add two longs.
double Subtract(double a, double b)double Subtract(double a, double b) Subtrahiert zwei double-Werte.Subtract two doubles.
long Subtract(long a, long b)long Subtract(long a, long b) Subtrahiert zwei long-Werte.Subtract two longs.
double Multiply(double a, double b)double Multiply(double a, double b) Multipliziert zwei double-Werte.Multiply two doubles.
long Multiply(long a, long b)long Multiply(long a, long b) Multipliziert zwei long-Werte.Multiply two longs.
double Divide(double a, double b)double Divide(double a, double b) Dividiert zwei double-Werte.Divide two doubles.
long Divide(long a, long b)long Divide(long a, long b) Dividiert zwei long-Werte.Divide two longs.
double Modulo(double a, double b)double Modulo(double a, double b) Modulo-Berechnung für zwei double-Werte.Modulo two doubles.
long Modulo(long a, long b)long Modulo(long a, long b) Modulo-Berechnung für zwei long-Werte.Modulo two longs.
string Escape(string unescaped)string Escape(string unescaped) Setzt gemäß den MSBuild-Escape-Regeln ein Escapezeichen vor die Zeichenfolge.Escape the string according to MSBuild escaping rules.
string Unescape(string escaped)string Unescape(string escaped) Entfernt gemäß den MSBuild-Escape-Regeln ein Escapezeichen vor der Zeichenfolge.Unescape the string according to MSBuild escaping rules.
int BitwiseOr(int first, int second)int BitwiseOr(int first, int second) Führt einen bitweisen OR-Vorgang für das erste und zweite Element aus (first | second).Perform a bitwise OR on the first and second (first | second).
int BitwiseAnd(int first, int second)int BitwiseAnd(int first, int second) Führt einen bitweisen AND-Vorgang für das erste und zweite Element aus (first & second).Perform a bitwise AND on the first and second (first & second).
int BitwiseXor(int first, int second)int BitwiseXor(int first, int second) Führt einen bitweisen XOR-Vorgang für das erste und zweite Element aus (first ^ second).Perform a bitwise XOR on the first and second (first ^ second).
int BitwiseNot(int first)int BitwiseNot(int first) Führt einen bitweisen NOT-Vorgang aus (~first).Perform a bitwise NOT (~first).
bool IsOsPlatform(string platformString)bool IsOsPlatform(string platformString) Gibt an, ob die aktuelle Betriebssystemplattform platformString ist.Specify whether the current OS platform is platformString. platformString muss ein Mitglied von OSPlatform sein.platformString must be a member of OSPlatform.
bool IsOSUnixLike()bool IsOSUnixLike() „TRUE“, wenn das aktuelle Betriebssystem ein Unix-System ist.True if current OS is a Unix system.
string NormalizePath(params string[] path)string NormalizePath(params string[] path) Ruft den vereinheitlichten vollständigen Pfad des bereitgestellten Pfads ab und stellt sicher, dass dieser die richtigen Verzeichnistrennzeichen für das aktuelle Betriebssystem enthält.Gets the canonicalized full path of the provided path and ensures it contains the correct directory separator characters for the current operating system.
string NormalizeDirectory(params string[] path)string NormalizeDirectory(params string[] path) Ruft den vereinheitlichten vollständigen Pfad des bereitgestellten Verzeichnisses ab und stellt sicher, dass dieser die richtigen Verzeichnistrennzeichen für das aktuelle Betriebssystem und einen nachstehenden Schrägstrich enthält.Gets the canonicalized full path of the provided directory and ensures it contains the correct directory separator characters for the current operating system while ensuring it has a trailing slash.
string EnsureTrailingSlash(string path)string EnsureTrailingSlash(string path) Wenn der angegebene Pfad keinen nachgestellten Schrägstrich besitzt, fügen Sie einen hinzu.If the given path doesn't have a trailing slash then add one. Wenn der Pfad eine leere Zeichenfolge ist, ändern Sie diesen nicht.If the path is an empty string, does not modify it.
string GetPathOfFileAbove(string file, string startingDirectory)string GetPathOfFileAbove(string file, string startingDirectory) Sucht in der Verzeichnisstruktur oberhalb des Speicherorts der aktuellen Builddatei oder basierend auf startingDirectory (sofern angegeben) nach einer Datei und gibt den vollständigen Pfad zu dieser Datei zurück.Searches for and returns the full path to a file in the directory structure above the current build file's location, or based on startingDirectory, if specified.
GetDirectoryNameOfFileAbove(string startingDirectory, string fileName)GetDirectoryNameOfFileAbove(string startingDirectory, string fileName) Sucht entweder im angegebenen Verzeichnis oder an einem Speicherort in der Verzeichnisstruktur oberhalb dieses Verzeichnisses nach dem Verzeichnis einer Datei und gibt dieses zurück.Locate and return the directory of a file in either the directory specified or a location in the directory structure above that directory.
string MakeRelative(string basePath, string path)string MakeRelative(string basePath, string path) Macht path relativ zu basePath.Makes path relative to basePath. Bei basePath muss es sich um ein absolutes Verzeichnis handeln.basePath must be an absolute directory. Wenn path nicht relativ gemacht werden kann, wird dieses wörtlich zurückgegeben.If path cannot be made relative, it is returned verbatim. Vergleichbar zu Uri.MakeRelativeUri.Similar to Uri.MakeRelativeUri.
string ValueOrDefault(string conditionValue, string defaultValue)string ValueOrDefault(string conditionValue, string defaultValue) Geben Sie die Zeichenfolge im Parameter „DefaultValue“ nur zurück, wenn der Parameter „ConditionValue“ leer ist. Geben Sie ansonsten ist den Wert ConditionValue zurück.Return the string in parameter 'defaultValue' only if parameter 'conditionValue' is empty, else, return the value conditionValue.

Geschachtelte EigenschaftenfunktionenNested property functions

Sie können Eigenschaftenfunktionen kombinieren, um komplexere Funktionen zu erstellen, wie das folgende Beispiel zeigt.You can combine property functions to form more complex functions, as the following example shows.

$([MSBuild]::BitwiseAnd(32, $([System.IO.File]::GetAttributes(tempFile))))

In diesem Beispiel wird der Wert FileAttributesArchive-Bit (32 oder 0) der Datei, die durch den Pfad tempFile angegeben wird, zurückgegeben.This example returns the value of the FileAttributesArchive bit (32 or 0) of the file given by the path tempFile. Beachten Sie, dass Enumerationsdatenwerte innerhalb von Eigenschaftenfunktionen nicht nach Name angezeigt werden können.Notice that enumerated data values cannot appear by name within property functions. Stattdessen muss der numerische Wert (32) verwendet werden.The numeric value (32) must be used instead.

Metadaten können auch in geschachtelten Eigenschaftenfunktionen angezeigt werden.Metadata may also appear in nested property functions. Weitere Informationen finden Sie unter MSBuild Batching (Batchverarbeitung).For more information, see Batching.

MSBuild DoesTaskHostExistMSBuild DoesTaskHostExist

Die DoesTaskHostExist-Eigenschaftenfunktion in MSBuild gibt zurück, ob derzeit ein Aufgabenhost für die angegebenen Laufzeit- und Architekturwerte installiert wird.The DoesTaskHostExist property function in MSBuild returns whether a task host is currently installed for the specified runtime and architecture values.

Diese Eigenschaftenfunktion hat die folgende Syntax:This property function has the following syntax:

$([MSBuild]::DoesTaskHostExist(string theRuntime, string theArchitecture))

MSBuild EnsureTrailingSlashMSBuild EnsureTrailingSlash

Die EnsureTrailingSlash-Eigenschaftenfunktion in MSBuild fügt einen nachgestellten Schrägstrich hinzu, wenn noch keiner vorhanden ist.The EnsureTrailingSlash property function in MSBuild adds a trailing slash if one doesn't already exist.

Diese Eigenschaftenfunktion hat die folgende Syntax:This property function has the following syntax:

$([MSBuild]::EnsureTrailingSlash('$(PathProperty)'))

MSBuild GetDirectoryNameOfFileAboveMSBuild GetDirectoryNameOfFileAbove

Die GetDirectoryNameOfFileAbove-Eigenschaftenfunktion in MSBuild sucht in den Verzeichnissen über dem aktuellen Verzeichnis im Pfad nach einer Datei.The MSBuild GetDirectoryNameOfFileAbove property function looks for a file in the directories above the current directory in the path.

Diese Eigenschaftenfunktion hat die folgende Syntax:This property function has the following syntax:

$([MSBuild]::GetDirectoryNameOfFileAbove(string ThePath, string TheFile))

Der folgende Code veranschaulicht diese Syntax beispielhaft.The following code is an example of this syntax.

<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), EnlistmentInfo.props))\EnlistmentInfo.props" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), EnlistmentInfo.props))' != '' " />

MSBuild GetPathOfFileAboveMSBuild GetPathOfFileAbove

Die GetPathOfFileAbove-Eigenschaftenfunktion in MSBuild gibt den Pfad der angegebenen Datei zurück, wenn sie sich in der Verzeichnisstruktur oberhalb des aktuellen Verzeichnisses befindet.The GetPathOfFileAbove property function in MSBuild returns the path of the specified file, if located in the directory structure above the current directory. Sie ist zum Aufruf funktional äquivalent.It is functionally equivalent to calling

<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />

Diese Eigenschaftenfunktion hat die folgende Syntax:This property function has the following syntax:

$([MSBuild]::GetPathOfFileAbove(dir.props))

MSBuild GetRegistryValueMSBuild GetRegistryValue

Die GetRegistryValue-Eigenschaftenfunktion in MSBuild gibt den Wert eines Registrierungsschlüssels zurück.The MSBuild GetRegistryValue property function returns the value of a registry key. Diese Funktion weist zwei Argumente auf, den Schlüsselnamen und den Wertnamen, und gibt den Wert aus der Registrierung zurück.This function takes two arguments, the key name and the value name, and returns the value from the registry. Wenn Sie keinen Wertnamen angeben, wird der Standardwert zurückgegeben.If you don't specify a value name, the default value is returned.

In den folgenden Beispielen wird veranschaulicht, wie diese Funktion verwendet wird:The following examples show how this function is used:

$([MSBuild]::GetRegistryValue(`HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Debugger`, ``))                                  // default value
$([MSBuild]::GetRegistryValue(`HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Debugger`, `SymbolCacheDir`))
$([MSBuild]::GetRegistryValue(`HKEY_LOCAL_MACHINE\SOFTWARE\(SampleName)`, `(SampleValue)`))             // parens in name and value

MSBuild GetRegistryValueFromViewMSBuild GetRegistryValueFromView

Die GetRegistryValueFromView-Eigenschaftenfunktion in MSBuild ruft Systemregistrierungsdaten anhand des Registrierungsschlüssels, des Werts und einer oder mehrerer geordneter Registrierungsansichten ab.The MSBuild GetRegistryValueFromView property function gets system registry data given the registry key, value, and one or more ordered registry views. Der Wert und der Schlüssel werden der Reihe nach in jeder Registrierungsansicht gesucht, bis sie gefunden wurden.The key and value are searched in each registry view in order until they are found.

Die Syntax für diese Eigenschaftenfunktion ist wie folgt:The syntax for this property function is:

[MSBuild]::GetRegistryValueFromView(string keyName, string valueName, object defaultValue, params object[] views)

Das Windows-Betriebssystem mit 64 Bit speichert einen HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node-Registrierungsschlüssel, der eine HKEY_LOCAL_MACHINE\SOFTWARE-Registrierungsansicht für 32-Bit-Anwendungen darstellt.The Windows 64-bit operating system maintains a HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node registry key that presents a HKEY_LOCAL_MACHINE\SOFTWARE registry view for 32-bit applications.

Eine 32-Bit-Anwendung, die unter WOW64 ausgeführt wird, greift standardmäßig auf die 32-Bit-Registrierungsansicht zu, und eine 64-Bit-Anwendung greift auf die 64-Bit-Registrierungsansicht zu.By default, a 32-bit application running on WOW64 accesses the 32-bit registry view and a 64-bit application accesses the 64-bit registry view.

Die folgenden Registrierungsansichten sind verfügbar:The following registry views are available:

RegistrierungsansichtRegistry view DefinitionDefinition
RegistryView.Registry32RegistryView.Registry32 Die Registrierungsansicht für 32-Bit-Anwendungen.The 32-bit application registry view.
RegistryView.Registry64RegistryView.Registry64 Die Registrierungsansicht für 64-Bit-Anwendungen.The 64-bit application registry view.
RegistryView.DefaultRegistryView.Default Die Registrierungsansicht, die mit dem Prozess übereinstimmt, auf dem die Anwendung ausgeführt wird.The registry view that matches the process that the application is running on.

Nachfolgend finden Sie ein Beispiel:The following is an example.

$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Silverlight\v3.0\ReferenceAssemblies', 'SLRuntimeInstallPath', null, RegistryView.Registry64, RegistryView.Registry32))

ruft die SLRuntimeInstallPath-Daten des ReferenceAssemblies-Schlüssels ab und sucht zuerst in der 64-Bit-Registrierungsansicht und dann in der 32-Bit-Registrierungsansicht.gets the SLRuntimeInstallPath data of the ReferenceAssemblies key, looking first in the 64-bit registry view and then in the 32-bit registry view.

MSBuild MakeRelativeMSBuild MakeRelative

Die MakeRelative-Eigenschaftenfunktion in MSBuild gibt den relativen Pfad des zweiten Pfads relativ zum ersten Pfad an.The MSBuild MakeRelative property function returns the relative path of the second path relative to first path. Jeder Pfad kann eine Datei oder ein Ordner sein.Each path can be a file or folder.

Diese Eigenschaftenfunktion hat die folgende Syntax:This property function has the following syntax:

$([MSBuild]::MakeRelative($(FileOrFolderPath1), $(FileOrFolderPath2)))

Der folgende Code veranschaulicht diese Syntax beispielhaft.The following code is an example of this syntax.

<PropertyGroup>
    <Path1>c:\users\</Path1>
    <Path2>c:\users\username\</Path2>
</PropertyGroup>

<Target Name = "Go">
    <Message Text ="$([MSBuild]::MakeRelative($(Path1), $(Path2)))" />
    <Message Text ="$([MSBuild]::MakeRelative($(Path2), $(Path1)))" />
</Target>

<!--
Output:
   username\
   ..\
-->

MSBuild ValueOrDefaultMSBuild ValueOrDefault

Die ValueOrDefault-Eigenschaftenfunktion in MSBuild gibt das erste Argumente zurück, sofern dieses nicht Null oder leer ist.The MSBuild ValueOrDefault property function returns the first argument, unless it's null or empty. Wenn das erste Argument Null oder leer ist, gibt die Funktion das zweite Argument zurück.If the first argument is null or empty, the function returns the second argument.

In dem folgenden Beispiel wird veranschaulicht, wie diese Funktion verwendet wird.The following example shows how this function is used.

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <PropertyGroup>
        <Value1>$([MSBuild]::ValueOrDefault('$(UndefinedValue)', 'a'))</Value1>
        <Value2>$([MSBuild]::ValueOrDefault('b', '$(Value1)'))</Value2>
    </PropertyGroup>

    <Target Name="MyTarget">
        <Message Text="Value1 = $(Value1)" />
        <Message Text="Value2 = $(Value2)" />
    </Target>
</Project>

<!--
Output:
  Value1 = a
  Value2 = b
-->

MSBuild-Funktionen „TargetFramework“ und „TargetPlatform“MSBuild TargetFramework and TargetPlatform functions

MSBuild definiert mehrere Funktionen für die Verarbeitung von TargetFramework- und TargetPlatform-Eigenschaften.MSBuild defines several functions for handling TargetFramework and TargetPlatform properties.

FunktionssignaturFunction signature BeschreibungDescription
GetTargetFrameworkIdentifier(Zeichenfolge für targetFramework)GetTargetFrameworkIdentifier(string targetFramework) Analysiert TargetFrameworkIdentifier aus TargetFrameworkParse the TargetFrameworkIdentifier from the TargetFramework.
GetTargetFrameworkVersion(Zeichenfolge für targetFramework)GetTargetFrameworkVersion(string targetFramework) Analysiert TargetFrameworkVersion aus TargetFrameworkParse the TargetFrameworkVersion from the TargetFramework.
GetTargetPlatformIdentifier(Zeichenfolge für targetFramework)GetTargetPlatformIdentifier(string targetFramework) Analysiert TargetPlatformIdentifier aus TargetFrameworkParse the TargetPlatformIdentifier from the TargetFramework.
GetTargetPlatformVersion(Zeichenfolge für targetFramework)GetTargetPlatformVersion(string targetFramework) Analysiert TargetPlatformVersion aus TargetFrameworkParse the TargetPlatformVersion from the TargetFramework.
IsTargetFrameworkCompatible(Zeichenfolge für targetFrameworkTarget, Zeichenfolge für targetFrameworkCandidate)IsTargetFrameworkCompatible(string targetFrameworkTarget, string targetFrameworkCandidate) Gibt TRUE zurück, wenn das anvisierte Zielframework mit diesem Zielframework kompatibel ist, andernfalls FALSEReturn 'True' if the candidate target framework is compatible with this target framework and false otherwise.

Im folgenden Beispiel wird gezeigt, wie diese Funktionen verwendet werden.The following example shows how these functions are used.

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <PropertyGroup>
        <Value1>$([MSBuild]::GetTargetFrameworkIdentifier('net5.0-windows7.0'))</Value1>
        <Value2>$([MSBuild]::GetTargetFrameworkVersion('net5.0-windows7.0'))</Value2>
        <Value3>$([MSBuild]::GetTargetPlatformIdentifier('net5.0-windows7.0'))</Value3>
        <Value4>$([MSBuild]::GetTargetPlatformVersion('net5.0-windows7.0'))</Value4>
        <Value5>$([MSBuild]::IsTargetFrameworkCompatible('net5.0-windows', 'net5.0'))</Value5>
    </PropertyGroup>

    <Target Name="MyTarget">
        <Message Text="Value1 = $(Value1)" />
        <Message Text="Value2 = $(Value2)" />
        <Message Text="Value3 = $(Value3)" />
        <Message Text="Value4 = $(Value4)" />
        <Message Text="Value5 = $(Value5)" />
    </Target>
</Project>
Value1 = .NETCoreApp
Value2 = 5.0
Value3 = windows
Value4 = 7.0
Value5 = True

MSBuild-BedingungsfunktionenMSBuild condition functions

Die Funktionen Exists und HasTrailingSlash sind keine Eigenschaftenfunktionen.The functions Exists and HasTrailingSlash are not property functions. Sie können mit dem Condition-Attribut verwendet werden.They are available for use with the Condition attribute. Weitere Informationen finden Sie unter MSBuild-Bedingungen.See MSBuild conditions.

Siehe auchSee also