Sdílet prostřednictvím


Nástroj MSBuild vlastnosti

Vlastnosti jsou páry název hodnota, které lze použít ke konfiguraci sestavení.Vlastnosti jsou užitečné pro předávání hodnot úkoly vyhodnocování podmínek a ukládání hodnot, které budou odkazovány v celém souboru projektu.

Definování a odkazování vlastnosti v souboru projektu

Vlastnosti jsou deklarovány vytvořením element, který má název vlastnosti jako podřízený PropertyGroup prvku.Například následující XML kód vytvoří vlastnost s názvem BuildDir , který má hodnotu Build.

<PropertyGroup>
    <BuildDir>Build</BuildDir>
</PropertyGroup>

V celém souboru projektu vlastnosti jsou odkazovány pomocí syntaxe $(PropertyName).Vlastnost v předchozím příkladu se odkazuje pomocí $(BuildDir).

Předefinováním vlastnosti lze změnit hodnoty vlastností.BuildDir Vlastnost lze udělit novou hodnotu pomocí tohoto XML:

<PropertyGroup>
    <BuildDir>Alternate</BuildDir>
</PropertyGroup>

Vlastnosti jsou vyhodnocovány v pořadí, v jakém jsou uvedeny v souboru projektu.Novou hodnotu pro BuildDir musí být deklarovány po původní hodnota je přiřazena.

Rezervované vlastnosti

MSBuildvyhrazuje některé názvy vlastností k ukládání informací o souboru projektu a MSBuild binární soubory.Tyto vlastnosti jsou odkazovány pomocí zápisu $ stejně jako jiné vlastnosti.Například $(MSBuildProjectFile) vrátí úplný název souboru projektu, včetně přípony názvu souboru.

Další informace naleznete v tématu Jak: odkaz na název nebo umístění souboru projektu a Nástroj MSBuild vyhrazena vlastnosti.

Vlastnosti prostředí

Stejně jako referenční rezervované vlastnosti můžete odkazovat na proměnné prostředí v souborech projektu.Například použití PATH proměnné prostředí v souboru projektu, použijte $(cesta).Pokud projekt obsahuje definice vlastnosti, která má stejný název jako vlastnost prostředí, vlastnost projektu přepíše hodnotu proměnné prostředí.

Každý projekt MSBuild má blok v izolovaném prostředí: pouze vidí čte a zapisuje vlastní blok.MSBuild načítá pouze proměnné prostředí při inicializaci kolekce vlastností před je vyhodnocena nebo sestaven soubor projektu.Poté jsou statické vlastnosti prostředí, spustí každý vytvářený nástroj stejné názvy a hodnoty.

Aktuální hodnotu systémové proměnné z vytvořeny nástroje, použijte Vlastnost funkce System.Environment.GetEnvironmentVariable.Upřednostňovanou metodou je však použít parametr úlohy EnvironmentVariables.Nastavit toto pole řetězec vlastnosti prostředí lze předat vytvářený nástroj bez ovlivnění systémové proměnné prostředí.

Tip

Přečíst všechny proměnné prostředí v stanou počáteční vlastnosti.Všechny proměnné prostředí, jehož název není platný MSBuild názvy vlastností, například "386" je ignorována.

Další informace naleznete v tématu Jak: použití proměnné prostředí v nové sestavení.

Vlastnosti registru

Můžete číst systému hodnot registru pomocí následující syntaxe, kde Hive je podregistr registru (například HKEY_LOCAL_MACHINE) Key je název klíče SubKey je název podklíče a Value je hodnota v podklíči.

$(registry:Hive\MyKey\MySubKey@Value)

Získání výchozí hodnotu podklíče vynechat Value.

$(registry:Hive\MyKey\MySubKey)

Tato hodnota registru lze použít k inicializaci vlastnosti sestavení.Například vytvořit vlastnost sestavení, která představuje domovskou stránku webového prohlížeče aplikace Visual Studio, můžete tento kód:

<PropertyGroup>
  <VisualStudioWebBrowserHomePage>
    $(registry:HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\WebBrowser@HomePage)
  </VisualStudioWebBrowserHomePage>
<PropertyGroup>

Globální vlastnosti.

MSBuildUmožňuje nastavit vlastnosti pomocí příkazového řádku /property (nebo /p) přepnout.Tyto hodnoty vlastností globální přepsat hodnoty vlastností, které jsou nastaveny v souboru projektu.Zahrnuje vlastnosti prostředí, ale nezahrnuje rezervované vlastnosti, které nelze změnit.

Následující příklad nastaví globální Configuration vlastnost DEBUG.

msbuild.exe MyProj.proj /p:Configuration=DEBUG

Globální vlastnosti také můžete nastavit nebo upravit pomocí podřízených projektů v sestavení vícenásobných projektů Properties atribut Úloha MSBuild.Další informace naleznete v tématu Úloha MSBuild.

Pokud určíte pomocí vlastnosti TreatAsLocalProperty atributu značky projekt, který nemá hodnotu globální vlastnosti přepsat hodnotu vlastnosti, která je nastavena v souboru projektu.Další informace naleznete v tématu Prvek projektu (MSBuild) a Jak: vytvoření stejných zdrojových souborů s různými možnostmi.

Vlastnost funkce

V rozhraní.NET Framework verze 4 můžete použít vlastnost funkce vyhodnotit skripty MSBuild.Můžete číst systémový čas, porovnání řetězců, odpovídající regulární výrazy a provádět mnoho akcí ve skriptu sestavení bez použití úlohy nástroje MSBuild.

Pracovat na libovolnou hodnotu vlastnosti můžete použít metody řetězec (instance) a můžete volat statické metody třídy mnoho systému.Například nastavíte vlastnost sestavení na dnešní datum takto.

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

Další informace a seznam vlastností funkcí naleznete v Vlastnost funkce.

Vytvoření vlastností při spuštění

Vlastnosti umístěn mimo Target prvky jsou přiřazeny hodnoty během fáze hodnocení sestavení.Během fáze spuštění následných vlastnosti může být vytvořena nebo změněna takto:

  • Vlastnost může být vysílán libovolného úkolu.K vyzařování vlastnost, úkol element musí mít dítě výstup element, který má PropertyName atribut.

  • Vlastnost může být vysílán CreateProperty úkolu.Toto využití je zastaralý.

  • Spuštění 3.5 rozhraní.NET Framework, Target prvky mohou obsahovat PropertyGroup prvky, které mohou obsahovat vlastnosti deklarací.

Ukládání ve vlastnosti XML

Vlastnosti mohou obsahovat libovolný XML usnadňuje předávání hodnot úkoly nebo zobrazení informací o protokolování.Následující příklad ukazuje ConfigTemplate vlastnost, která má hodnotu, která obsahuje XML a další odkazy.MSBuildnahradí odkazy vlastnost pomocí jejich hodnoty odpovídajících vlastností.Hodnoty vlastností jsou přiřazeny v pořadí, v jakém jsou uvedeny.Proto v tomto příkladu $(MySupportedVersion), $(MyRequiredVersion), a $(MySafeMode) by již byly definovány.

<PropertyGroup>
    <ConfigTemplate>
        <Configuration>
            <Startup>
                <SupportedRuntime
                    ImageVersion="$(MySupportedVersion)"
                    Version="$(MySupportedVersion)"/>
                <RequiredRuntime
                    ImageVersion="$(MyRequiredVersion)
                    Version="$(MyRequiredVersion)"
                    SafeMode="$(MySafeMode)"/>
            </Startup>
        </Configuration>
    </ConfigTemplate>
</PropertyGroup>

Viz také

Úkoly

Jak: použití proměnné prostředí v nové sestavení

Jak: odkaz na název nebo umístění souboru projektu

Jak: vytvoření stejných zdrojových souborů s různými možnostmi

Referenční dokumentace

Nástroj MSBuild vyhrazena vlastnosti

Vlastnosti prvku (MSBuild)

Další zdroje

Nástroj MSBuild koncepty

MSBuild