Condividi tramite


Proprietà di MSBuild

Aggiornamento: novembre 2007

Le proprietà sono coppie di chiave/valore che possono essere utilizzate per configurare le generazioni e risultano utili per passare i valori alle attività, valutare le condizioni e archiviare i valori a cui si farà riferimento nel file di progetto.

Definizione e riferimento a proprietà in un file di progetto

Per dichiarare le proprietà, è necessario creare, come figlio di un elemento PropertyGroup, un elemento con lo stesso nome della proprietà. Il codice XML riportato di seguito, ad esempio, crea una proprietà con nome BuildDir e con un valore di Build.

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

La sintassi $(PropertyName) consente di fare riferimento alle proprietà nell'intero file di progetto. È ad esempio possibile fare riferimento alla proprietà dell'esempio precedente utilizzando $(BuildDir).

Impostazione delle proprietà dalla riga di comando

MSBuild consente di impostare le proprietà dalla riga di comando utilizzando la relativa opzione /property o /p. I valori di proprietà ricevuti dalla riga di comando eseguono l'override dei valori di proprietà impostati nel file di progetto e di quelli ereditati dalle variabili di ambiente.

Nell'esempio riportato di seguito la proprietà Configuration viene impostata su DEBUG.

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

Proprietà riservate

MSBuild riserva alcuni nomi di proprietà per archiviare le informazioni relative al file di progetto e ai file binari di MSBuild. Il riferimento a tali proprietà viene eseguito utilizzando la notazione $, come per qualsiasi altra proprietà. Per ulteriori informazioni, vedere Procedura: fare riferimento al nome o al percorso del file di progetto e Proprietà riservate di MSBuild.

Variabili di ambiente

Il riferimento alle variabili di ambiente nei file di progetto è analogo al riferimento alle proprietà riservate. Per utilizzare ad esempio la variabile di ambiente PATH nel file di progetto, ricorrere a $(Path). Se il progetto contiene una definizione di proprietà che possiede lo stesso nome della variabile di ambiente, tale proprietà esegue l'override del valore della variabile. Per ulteriori informazioni, vedere Procedura: utilizzare le variabili di ambiente in una compilazione.

Archiviazione di XML nelle proprietà

Le proprietà possono contenere XML arbitrario, che può risultare utile per il passaggio dei valori alle attività o per la visualizzazione delle informazioni di registrazione. Nell'esempio riportato di seguito viene illustrata la proprietà ConfigTemplate con un valore contenente XML e altri riferimenti alle proprietà. MSBuild sostituisce i riferimenti alle proprietà con i valori di proprietà corrispondenti. Poiché i valori di proprietà vengono interpretati dall'alto verso il basso, in questo esempio $(MySupportedVersion), $(MyRequiredVersion) e $(MySafeMode) dovrebbero risultare già definiti.

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

Vedere anche

Attività

Procedura: utilizzare le variabili di ambiente in una compilazione

Procedura: fare riferimento al nome o al percorso del file di progetto

Concetti

MSBuild

Cenni preliminari su MSBuild

Riferimenti

Proprietà riservate di MSBuild

Elemento Property (MSBuild)