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