Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si compilano progetti, è spesso necessario impostare le opzioni di compilazione usando informazioni che non si trovano nel file di progetto o nei file che costituiscono il progetto. Queste informazioni vengono in genere archiviate nelle variabili di ambiente.
Annotazioni
MSBuild considera le variabili di ambiente come input attendibili. È possibile che MSBuild carichi la logica di compilazione, ad esempio attività, .targetso .props file da percorsi personalizzati o modifichi la modalità di esecuzione della compilazione.
Variabili di ambiente di riferimento
Tutte le variabili di ambiente che sono nomi di proprietà MSBuild validi sono disponibili per il file di progetto MSBuild come proprietà. I nomi di proprietà validi sono descritti nelle proprietà di MSBuild. Ad esempio, le variabili di ambiente che iniziano con un numero non sono disponibili in MSBuild.
Annotazioni
Se il file di progetto contiene una definizione esplicita di una proprietà con lo stesso nome di una variabile di ambiente, la proprietà nel file di progetto sostituisce il valore della variabile di ambiente.
Per usare una variabile di ambiente in un progetto MSBuild
Fare riferimento alla variabile di ambiente allo stesso modo in cui una variabile dichiarata nel file di progetto. Ad esempio, il codice seguente fa riferimento alla variabile di ambiente BIN_PATH:
<FinalOutput>$(BIN_PATH)\MyAssembly.dll</FinalOutput>È possibile usare un
Conditionattributo per fornire un valore predefinito per una proprietà se la variabile di ambiente non è stata impostata.
Per fornire un valore predefinito per una proprietà
Utilizzare un
Conditionattributo in una proprietà per impostare il valore solo se la proprietà non ha alcun valore. Ad esempio, il codice seguente imposta laToolsPathproprietà su c:\tools solo se laToolsPathvariabile di ambiente non è impostata:<ToolsPath Condition="'$(TOOLSPATH)' == ''">c:\tools</ToolsPath>Annotazioni
I nomi delle proprietà non fanno distinzione tra maiuscole e minuscole, quindi fanno
$(ToolsPath)$(TOOLSPATH)riferimento alla stessa proprietà o variabile di ambiente.
Esempio
Il file di progetto seguente usa le variabili di ambiente per specificare il percorso delle directory.
<Project DefaultTargets="FakeBuild">
<PropertyGroup>
<FinalOutput>$(BIN_PATH)\myassembly.dll</FinalOutput>
<ToolsPath Condition=" '$(ToolsPath)' == '' ">
C:\Tools
</ToolsPath>
</PropertyGroup>
<Target Name="FakeBuild">
<Message Text="Building $(FinalOutput) using the tools at $(ToolsPath)..."/>
</Target>
</Project>