Condividi tramite


Proprietà riservate e note MSBuild

In MSBuild è disponibile un set di proprietà predefinite che archiviano informazioni sul file di progetto e i file binari di MSBuild. Queste proprietà vengono valutate come le altre proprietà di MSBuild. Ad esempio, per usare la proprietà MSBuildProjectFile, è necessario digitare $(MSBuildProjectFile).

MSBuild usa i valori indicati nella tabella seguente per predefinire le proprietà riservate e quelle note. L'override può essere eseguito solo per le proprietà note usando proprietà globali, proprietà di ambiente con nomi identici o proprietà dichiarate nel file di progetto.

Proprietà riservate e proprietà note

Nella tabella seguente vengono descritte le proprietà predefinite di MSBuild.

Proprietà

Descrizione

Riservata o nota

MSBuildBinPath

Percorso assoluto della cartella in cui si trovano i file binari di MSBuild attualmente in uso, ad esempio C:\Windows\Microsoft.Net\Framework\versionNumber. Questa proprietà risulta utile quando è necessario fare riferimento ai file nella directory di MSBuild.

Non includere la barra rovesciata finale in questa proprietà.

Riservata

MSBuildExtensionsPath

Introdotta in .NET Framework 4: nessuna differenza tra i valori predefiniti di MSBuildExtensionsPath e MSBuildExtensionsPath32. È possibile impostare la variabile di ambiente MSBUILDLEGACYEXTENSIONSPATH su un valore non Null per abilitare il comportamento del valore predefinito di MSBuildExtensionsPath nelle versioni precedenti.

In .NET Framework 3.5 e versioni precedenti il valore predefinito di MSBuildExtensionsPath fa riferimento al percorso della sottocartella MSBuild nella cartella \Programmi\ o \Programmi (x86), in base al numero di bit del processo corrente. Ad esempio, per un processo a 32 bit in un computer a 64 bit, la proprietà fa riferimento alla cartella \Programmi (x86). Per un processo a 64 bit in un computer a 64 bit, questa proprietà fa riferimento alla cartella \Programmi.

Non includere la barra rovesciata finale in questa proprietà.

Questo percorso è ideale per contenere i file di destinazione personalizzati. È ad esempio possibile installare i file di destinazione in \Programmi\MSBuild\MyFiles\Northwind.targets, quindi importarli nei file di progetto usando il codice XML seguente:

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>

Nota

MSBuildExtensionsPath32

Percorso della sottocartella MSBuildnella cartella \Programmi o \Programmi (x86). Questo percorso fa sempre riferimento alla cartella \Programmi a 32 bit in un computer a 32 bit e alla cartella \Programmi (x86) in un computer a 64 bit. Vedere anche MSBuildExtensionsPath e MSBuildExtensionsPath64.

Non includere la barra rovesciata finale in questa proprietà.

Nota

MSBuildExtensionsPath64

Percorso della sottocartella MSBuild nella cartella \Programmi\. Per un computer a 64 bit, questo percorso fa sempre riferimento alla cartella \Programmi. Per un computer a 32 bit, questo percorso è vuoto. Vedere anche MSBuildExtensionsPath e MSBuildExtensionsPath32.

Non includere la barra rovesciata finale in questa proprietà.

Nota

MSBuildLastTaskResult

true se l'attività precedente è stata completata senza errori (anche se erano presenti avvisi) o false se l'attività precedente ha generato errori. In genere, quando si verifica un errore in un'attività, l'errore è l'ultimo elemento che si verifica nel progetto. Pertanto, il valore di questa proprietà non è mai false, tranne negli scenari seguenti:

Riservata

MSBuildNodeCount

Numero massimo di processi simultanei usati durante la compilazione. Si tratta del valore specificato per /maxcpucount sulla riga di comando. Se è stata specificata l'opzione /maxcpucount senza un valore, MSBuildNodeCount specifica il numero di processori nel computer. Per altre informazioni, vedere Riferimenti alla riga di comando di MSBuild e Compilazione di più progetti in parallelo con MSBuild.

Riservata

MSBuildProgramFiles32

Percorso della cartella del programma a 32 bit, ad esempio C:\Program Files (x86).

Non includere la barra rovesciata finale in questa proprietà.

Riservata

MSBuildProjectDefaultTargets

L'elenco completo delle destinazioni specificate nell'attributo DefaultTargets dell'elemento Project. L'elemento Project seguente conterrebbe, ad esempio, una proprietà MSBuildDefaultTargets con valore A;B;C:

<Project DefaultTargets="A;B;C" >

Riservata

MSBuildProjectDirectory

Percorso assoluto della directory in cui si trova il file di progetto, ad esempio C:\MyCompany\MyProduct.

Non includere la barra rovesciata finale in questa proprietà.

Riservata

MSBuildProjectDirectoryNoRoot

Il valore della proprietà MSBuildProjectDirectory, esclusa l'unità radice.

Non includere la barra rovesciata finale in questa proprietà.

Riservata

MSBuildProjectExtension

L'estensione del nome file del file di progetto, incluso il punto, ad esempio PROJ.

Riservata

MSBuildProjectFile

Nome file completo del progetto, inclusa l'estensione del nome file, ad esempio MyApp.proj.

Riservata

MSBuildProjectFullPath

Percorso assoluto e nome file completo del progetto, inclusa l'estensione del nome del file, ad esempio C:\MyCompany\MyProduct\MyApp.proj.

Riservata

MSBuildProjectName

Nome file del progetto senza l'estensione, ad esempio MyApp.

Riservata

MSBuildStartupDirectory

Percorso assoluto della cartella in cui viene chiamato MSBuild. Tramite questa proprietà, è possibile compilare tutto ciò che si trova sotto un punto specifico in un albero di progetto senza creare file dirs.proj in ogni directory. È invece presente un solo progetto, ad esempio c:\traversal.proj, come illustrato di seguito:

<Project ...>
    <ItemGroup>
        <ProjectFiles  
           Include="$
           (MSBuildStartupDirectory)
           **\*.csproj"/>
    </ItemGroup>
    <Target Name="build">
        <MSBuild    
        Projects="@(ProjectFiles)"/>
    </Target>
</Project>

Per compilare a un punto qualsiasi dell'albero, digitare:

msbuild c:\traversal.proj

Non includere la barra rovesciata finale in questa proprietà.

Riservata

MSBuildThisFile

Il nome file e la parte dell'estensione di MSBuildThisFileFullPath.

Riservata

MSBuildThisFileDirectory

La parte di directory di MSBuildThisFileFullPath.

Includere la barra rovesciata finale nel percorso.

Riservata

MSBuildThisFileDirectoryNoRoot

La parte di directory di MSBuildThisFileFullPath, esclusa l'unità radice.

Includere la barra rovesciata finale nel percorso.

Riservata

MSBuildThisFileExtension

La parte di estensione del nome file di MSBuildThisFileFullPath.

Riservata

MSBuildThisFileFullPath

Percorso assoluto del file di progetto o di destinazioni che contiene la destinazione in esecuzione.

Suggerimento

È possibile specificare un percorso relativo in un file di destinazioni che sia relativo al file di destinazioni e non al file di progetto originale.

Riservata

MSBuildThisFileName

La parte di nome file di MSBuildThisFileFullPath, senza l'estensione.

Riservata

MSBuildToolsPath

Percorso di installazione della versione di MSBuild associata al valore di MSBuildToolsVersion.

Non includere la barra rovesciata finale nel percorso.

Questa proprietà non può essere sottoposta a override.

Riservata

MSBuildToolsVersion

Versione del set di strumenti di MSBuild da usare per compilare il progetto.

Nota

Un set di strumenti di MSBuild è costituito da attività, destinazioni e strumenti usati per compilare un'applicazione.Gli strumenti includono compilatori come csc.exe e vbc.exe.Per altre informazioni, vedere Set di strumenti di MSBuild (ToolsVersion) e Configurazioni standard e personalizzate del set di strumenti.

Riservata

Vedere anche

Concetti

Proprietà di MSBuild

Altre risorse

Riferimenti a MSBuild