Condividi tramite


Proprietà riservate e note MSBuild

MSBuild fornisce un set di proprietà predefinite che archivia informazioni sul file di progetto e sui file binari di MSBuild. Queste proprietà vengono valutate nello stesso modo delle 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. Non è possibile eseguire l'override delle proprietà riservate e non è consigliabile eseguire l'override della maggior parte delle proprietà note, ad eccezione degli scenari avanzati.

Proprietà riservate e note

La tabella in questa sezione mostra le proprietà predefinite di MSBuild. La colonna di esempio nella tabella è correlata al file di progetto di esempio seguente, si presuppone che si trovi in C:\Source\Repos\ConsoleApp1\ConsoleApp1e mostra un esempio dei valori a cui queste proprietà hanno accesso quando si accede al file di progetto, quando MSBuild viene richiamato senza opzioni speciali della riga di comando.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>
</Project>
Proprietà Riservata o nota Descrizione Esempio
FrameworkSDKRoot Well-Known Percorso della cartella radice per gli strumenti di .NET Framework. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Well-Known Specifica il nome della proprietà che definisce la dimensione di compilazione a più destinazioni (applicabile solo se la compilazione corrente è una compilazione del grafo). TargetFramework
InnerBuildPropertyValues Well-Known Specifica il nome della proprietà che contiene i valori possibili per ( InnerBuildProperty applicabile solo se la compilazione corrente è una compilazione del grafo). TargetFrameworks
IsGraphBuild Well-Known True se si tratta di una compilazione del grafo, ovvero l'opzione -graphBuild è attiva. Questa opzione significa che MSBuild costruisce e compila un grafo di progetto. La creazione di un grafico implica l'identificazione dei riferimenti di progetto alle dipendenze dei moduli. La compilazione del grafico implica il tentativo di compilare riferimenti al progetto prima dei progetti che vi fanno riferimento, a differenza della pianificazione tradizionale di MSBuild.
MSBuildAssemblyVersion Prenotato Versione degli assembly MSBuild usata per compilare il progetto. 16,0
MSBuildBinPath Prenotato Percorso assoluto della cartella in cui si trovano i file binari MSBuild attualmente in uso, ad esempio C:\Windows\Microsoft.Net\Framework\<versionNumber>. Questa proprietà è utile se è necessario fare riferimento ai file nella directory MSBuild.

Non includere la barra rovesciata finale in questa proprietà.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildDisableFeaturesFromVersion Prenotato Usato da MSBuild e dagli SDK Microsoft per gestire le onde di modifica.
MSBuildExtensionsPath Well-Known 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 punta al percorso della sottocartella MSBuild nella cartella \Programmi\ o \Programmi (x86), a seconda del 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"/>
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath32 Well-Known Percorso della sottocartella MSBuild nella cartella \Programmi o \Programmi (x86). Il percorso fa sempre riferimento alla cartella \Programmi (x86) per un computer a 32 bit e alla cartella \Programmi per un computer a 64 bit.". Vedere anche MSBuildExtensionsPath e MSBuildExtensionsPath64.

Non includere la barra rovesciata finale in questa proprietà.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath64 Well-Known 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à.
C:\Program Files\MSBuild
MSBuildFileVersion Prenotato Versione 4 parte degli assembly MSBuild usati per compilare il progetto. 16.11.0.30701
MSBuildFrameworkToolsPath Well-Known Percorso degli strumenti di .NET Framework con cui è stato compilato MSBuild attualmente in esecuzione, con una barra finale. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Well-Known Percorso della versione a 32 bit degli strumenti di .NET Framework per la stessa versione del framework con cui è stato compilato MSBuild attualmente in esecuzione, con una barra finale. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Well-Known Percorso della versione a 64 bit degli strumenti di .NET Framework per la stessa versione del framework con cui è stato compilato MSBuild attualmente in esecuzione, con una barra finale. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Prenotato true se MSBuild è in esecuzione in modo interattivo, consentendo l'input dell'utente. Questa impostazione è controllata dall'opzione della -interactive riga di comando. false
MSBuildLastTaskResult Prenotato 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:

- Quando l'attributo ContinueOnError dell'elemento Task (MSBuild) è impostato su WarnAndContinue (o true) o su ErrorAndContinue.

- Quando Target ha un elemento OnError (MSBuild) come elemento figlio.
true
MSBuildNodeCount Prenotato Numero massimo di processi simultanei usati durante la compilazione. Si tratta del valore specificato per -maxcpucount nella riga di comando. Se l'opzione -maxcpucount è stata specificata senza un valore, MSBuildNodeCount specifica il numero di processori nel computer. Per altre informazioni, vedere Riferimenti alla riga di comando e Compilazione di più progetti in parallelo. 1
MSBuildOverrideTasksPath Well-Known Percorso in cui cercare .overridetasks i file, che possono essere usati per fornire versioni personalizzate delle attività standard. Vedere Attività di MSBuild.

Non includere la barra rovesciata finale nel percorso.
MSBuildProgramFiles32 Prenotato Percorso della cartella del programma a 32 bit, ad esempio C:\Programmi (x86).

Non includere la barra rovesciata finale in questa proprietà.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Prenotato 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" >
Build
MSBuildProjectDirectory Prenotato 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à.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Prenotato Il valore della proprietà MSBuildProjectDirectory, esclusa l'unità radice.

Non includere la barra rovesciata finale in questa proprietà.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Prenotato Estensione del nome file del file di progetto, incluso il punto, ad esempio proj. .csproj
MSBuildProjectFile Prenotato Nome file completo del progetto, inclusa l'estensione del nome file, ad esempio MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Prenotato Percorso assoluto e nome file completo del progetto, inclusa l'estensione del nome file, ad esempio C:\MyCompany\MyProduct\MyApp.proj. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Prenotato Nome file del file di progetto senza l'estensione, ad esempio MyApp. ConsoleApp1
MSBuildRuntimeType Prenotato Il tipo di runtime che è attualmente in esecuzione. Introdotto in MSBuild 15. Il valore potrebbe non essere definito (prima di MSBuild 15), Full che indica che MSBuild è in esecuzione in .NET Framework desktop, Core a indicare che MSBuild è in esecuzione in .NET Core (ad esempio in dotnet build) o Mono che indica che MSBuild è in esecuzione in Mono. Full
MSBuildSDKsPath Well-Known Il percorso usato da MSBuild per trovare gli SDK. C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Sdks
MSBuildSemanticVersion Prenotato Versione completa di semver 2.0 degli assembly MSBuild usati per compilare il progetto. 16.11.0-preview-21302-05+5e37cc992
MSBuildStartupDirectory Prenotato Percorso assoluto della cartella in cui viene chiamato MSBuild. Usando questa proprietà, è possibile compilare tutti gli elementi sottostanti a un punto specifico in un albero del 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à.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Prenotato Il nome file e la parte dell'estensione di MSBuildThisFileFullPath. ConsoleApp1.csproj
MSBuildThisFileDirectory Prenotato La parte di directory di MSBuildThisFileFullPath.

Includere la barra rovesciata finale nel percorso.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Prenotato La parte di directory di MSBuildThisFileFullPath, esclusa l'unità radice.

Includere la barra rovesciata finale nel percorso.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Prenotato La parte di estensione del nome file di MSBuildThisFileFullPath. .csproj
MSBuildThisFileFullPath Prenotato 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.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Prenotato La parte di nome file di MSBuildThisFileFullPath, senza l'estensione. ConsoleApp1
MSBuildToolsPath Prenotato 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.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\
MSBuildToolsPath32 Well-Known Percorso di installazione della versione MSBuild a 32 bit associata al valore di MSBuildToolsVersion.

Non includere la barra rovesciata finale nel percorso.

Questa proprietà non può essere sottoposta a override.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildToolsPath64 Well-Known Percorso di installazione della versione MSBuild a 64 bit associata al valore di MSBuildToolsVersion.

Non includere la barra rovesciata finale nel percorso.

Questa proprietà non può essere sottoposta a override.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Prenotato Versione del set di strumenti MSBuild usato per compilare il progetto.

Nota: un set di strumenti 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.
Current
MSBuildUserExtensionsPath Well-Known Questo percorso fornisce il percorso per la cartella di installazione di MSBuild. Può essere reimpostato per fornire personalizzazioni locali per utente. Vedere Personalizzare la compilazione locale.

Non includere la barra rovesciata finale nel percorso.
MSBuildVersion Prenotato Versione di MSBuild usata per compilare il progetto.

Questa proprietà non può essere sottoposta a override. In caso contrario, viene restituito il messaggio di errore MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified..
16.11.0
MSBuildWarningsAsErrors Well-Known Elenco di codici di avviso da considerare come errori. MSB1234;MSB5678
MSBuildWarningsAsMessages Well-Known Elenco di codici di avviso da considerare come messaggi. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Well-Known Elenco di codici di avviso che non devono essere promossi a errori anche se l'opzione -warnAsError è impostata per alzare di livello tutti gli altri avvisi agli errori. Si noti che non ha alcun effetto se questo non è vero. MSB1234;MSB5678
OS Well-Known In Windows, questo viene ereditato dal sistema operativo host. I valori possibili includono "Windows_NT" e "Unix"; può essere impostato su valori diversi nei sistemi operativi diversi da Windows.
RoslynTargetsPath Well-Known Percorso dei compilatori Roslyn. C:\Program Files\Microsoft Visual Studio\2019\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Well-Known Percorso degli strumenti di .NET Framework 3.5.
SDK40ToolsPath Well-Known Percorso degli strumenti di .NET Framework 4.0. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Well-Known Cartella di installazione di Visual Studio. C:\Program Files (x86)\Microsoft Visual Studio\2019
WindowsSDK80Path Well-Known
Proprietà Riservata o nota Descrizione Esempio
FrameworkSDKRoot Well-Known Percorso della cartella radice per gli strumenti di .NET Framework. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Well-Known Specifica il nome della proprietà che definisce la dimensione di compilazione a più destinazioni (applicabile solo se la compilazione corrente è una compilazione del grafo). TargetFramework
InnerBuildPropertyValues Well-Known Specifica il nome della proprietà che contiene i valori possibili per ( InnerBuildProperty applicabile solo se la compilazione corrente è una compilazione del grafo). TargetFrameworks
IsGraphBuild Well-Known True se si tratta di una compilazione del grafo, ovvero l'opzione -graphBuild è attiva. Questa opzione significa che MSBuild costruisce e compila un grafo di progetto. La creazione di un grafico implica l'identificazione dei riferimenti di progetto alle dipendenze dei moduli. La compilazione del grafico implica il tentativo di compilare riferimenti al progetto prima dei progetti che vi fanno riferimento, a differenza della pianificazione tradizionale di MSBuild.
MSBuildAssemblyVersion Prenotato Versione degli assembly MSBuild usata per compilare il progetto. 17.0
MSBuildBinPath Prenotato Percorso assoluto della cartella in cui si trovano i file binari MSBuild attualmente in uso, ad esempio C:\Windows\Microsoft.Net\Framework\<versionNumber>. Questa proprietà è utile se è necessario fare riferimento ai file nella directory MSBuild.

Non includere la barra rovesciata finale in questa proprietà.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildDisableFeaturesFromVersion Prenotato Usato da MSBuild e dagli SDK Microsoft per gestire le onde di modifica.
MSBuildExtensionsPath Well-Known 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 punta al percorso della sottocartella MSBuild nella cartella \Programmi\ o \Programmi (x86), a seconda del 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"/>
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath32 Well-Known Percorso della sottocartella MSBuild nella cartella \Programmi o \Programmi (x86). Il percorso fa sempre riferimento alla cartella \Programmi (x86) per un computer a 32 bit e alla cartella \Programmi per un computer a 64 bit.". Vedere anche MSBuildExtensionsPath e MSBuildExtensionsPath64.

Non includere la barra rovesciata finale in questa proprietà.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath64 Well-Known 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à.
C:\Program Files\MSBuild
MSBuildFileVersion Prenotato Versione 4 parte degli assembly MSBuild usati per compilare il progetto. 17.4.0.46505
MSBuildFrameworkToolsPath Well-Known Percorso degli strumenti di .NET Framework con cui è stato compilato MSBuild attualmente in esecuzione, con una barra finale. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Well-Known Percorso della versione a 32 bit degli strumenti di .NET Framework per la stessa versione del framework con cui è stato compilato MSBuild attualmente in esecuzione, con una barra finale. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Well-Known Percorso della versione a 64 bit degli strumenti di .NET Framework per la stessa versione del framework con cui è stato compilato MSBuild attualmente in esecuzione, con una barra finale. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Prenotato true se MSBuild è in esecuzione in modo interattivo, consentendo l'input dell'utente. Questa impostazione è controllata dall'opzione della -interactive riga di comando. false
MSBuildLastTaskResult Prenotato 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:

- Quando l'attributo ContinueOnError dell'elemento Task (MSBuild) è impostato su WarnAndContinue (o true) o su ErrorAndContinue.

- Quando Target ha un elemento OnError (MSBuild) come elemento figlio.
true
MSBuildNodeCount Prenotato Numero massimo di processi simultanei usati durante la compilazione. Si tratta del valore specificato per -maxcpucount nella riga di comando. Se l'opzione -maxcpucount è stata specificata senza un valore, MSBuildNodeCount specifica il numero di processori nel computer. Per altre informazioni, vedere Riferimenti alla riga di comando e Compilazione di più progetti in parallelo. 1
MSBuildOverrideTasksPath Well-Known Percorso in cui cercare .overridetasks i file, che possono essere usati per fornire versioni personalizzate delle attività standard. Vedere Attività di MSBuild.

Non includere la barra rovesciata finale nel percorso.
MSBuildProgramFiles32 Prenotato Percorso della cartella del programma a 32 bit, ad esempio C:\Programmi (x86).

Non includere la barra rovesciata finale in questa proprietà.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Prenotato 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" >
Build
MSBuildProjectDirectory Prenotato 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à.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Prenotato Il valore della proprietà MSBuildProjectDirectory, esclusa l'unità radice.

Non includere la barra rovesciata finale in questa proprietà.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Prenotato Estensione del nome file del file di progetto, incluso il punto, ad esempio proj. .csproj
MSBuildProjectFile Prenotato Nome file completo del progetto, inclusa l'estensione del nome file, ad esempio MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Prenotato Percorso assoluto e nome file completo del progetto, inclusa l'estensione del nome file, ad esempio C:\MyCompany\MyProduct\MyApp.proj. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Prenotato Nome file del file di progetto senza l'estensione, ad esempio MyApp. ConsoleApp1
MSBuildRuntimeType Prenotato Il tipo di runtime che è attualmente in esecuzione. Introdotto in MSBuild 15. Il valore potrebbe non essere definito (prima di MSBuild 15), Full che indica che MSBuild è in esecuzione in .NET Framework desktop, Core a indicare che MSBuild è in esecuzione in .NET Core (ad esempio in dotnet build) o Mono che indica che MSBuild è in esecuzione in Mono. Full
MSBuildStartupDirectory Prenotato Percorso assoluto della cartella in cui viene chiamato MSBuild. Usando questa proprietà, è possibile compilare tutti gli elementi sottostanti a un punto specifico in un albero del 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à.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Prenotato Il nome file e la parte dell'estensione di MSBuildThisFileFullPath. ConsoleApp1.csproj
MSBuildThisFileDirectory Prenotato La parte di directory di MSBuildThisFileFullPath.

Includere la barra rovesciata finale nel percorso.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Prenotato La parte di directory di MSBuildThisFileFullPath, esclusa l'unità radice.

Includere la barra rovesciata finale nel percorso.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Prenotato La parte di estensione del nome file di MSBuildThisFileFullPath. .csproj
MSBuildThisFileFullPath Prenotato 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.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Prenotato La parte di nome file di MSBuildThisFileFullPath, senza l'estensione. ConsoleApp1
MSBuildToolsPath Prenotato 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.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsPath32 Well-Known Percorso di installazione della versione MSBuild a 32 bit associata al valore di MSBuildToolsVersion.

Non includere la barra rovesciata finale nel percorso.

Questa proprietà non può essere sottoposta a override.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin
MSBuildToolsPath64 Well-Known Percorso di installazione della versione MSBuild a 64 bit associata al valore di MSBuildToolsVersion.

Non includere la barra rovesciata finale nel percorso.

Questa proprietà non può essere sottoposta a override.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Prenotato Versione del set di strumenti MSBuild usato per compilare il progetto.

Nota: un set di strumenti 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.
Current
MSBuildSDKsPath Well-Known Il percorso usato da MSBuild per trovare gli SDK. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Sdks
MSBuildSemanticVersion Prenotato Versione completa di semver 2.0 degli assembly MSBuild usati per compilare il progetto. 17.4.0-preview-22465-05+6033e4c95
MSBuildUserExtensionsPath Well-Known Questo percorso fornisce il percorso per la cartella di installazione di MSBuild. Può essere reimpostato per fornire personalizzazioni locali per utente. Vedere Personalizzare la compilazione locale.

Non includere la barra rovesciata finale nel percorso.
MSBuildVersion Prenotato Versione di MSBuild usata per compilare il progetto.

Questa proprietà non può essere sottoposta a override. In caso contrario, viene restituito il messaggio di errore MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified..
17.4.0
MSBuildWarningsAsErrors Well-Known Elenco di codici di avviso da considerare come errori. MSB1234;MSB5678
MSBuildWarningsAsMessages Well-Known Elenco di codici di avviso da considerare come messaggi. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Well-Known Elenco di codici di avviso che non devono essere promossi a errori anche se l'opzione -warnAsError è impostata per alzare di livello tutti gli altri avvisi agli errori. Si noti che non ha alcun effetto se questo non è vero. MSB1234;MSB5678
OS Well-Known In Windows, questo viene ereditato dal sistema operativo host. I valori possibili includono "Windows_NT" e "Unix"; può essere impostato su valori diversi nei sistemi operativi diversi da Windows.
RoslynTargetsPath Well-Known Percorso delle destinazioni per i compilatori Roslyn. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Well-Known Percorso degli strumenti di .NET Framework 3.5.
SDK40ToolsPath Well-Known Percorso degli strumenti di .NET Framework 4.0. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Well-Known Cartella di installazione di Visual Studio. C:\Program Files\Microsoft Visual Studio\2022
WindowsSDK80Path Well-Known Percorso di Windows 8 SDK.

Proprietà specifiche dei progetti C++

Le proprietà seguenti rappresentano il percorso dei file di importazione MSBuild C++, ad esempio .props e .targets , per varie versioni del set di strumenti C++ e dei sistemi operativi di destinazione. I file in queste cartelle rappresentano l'infrastruttura di compilazione C++ e sono essenziali per la compilazione di qualsiasi progetto C++ con MSBuild.

Proprietà Riservata o nota Descrizione Esempio
AndroidTargetsPath Well-Known Percorso dei file di importazione MSBuild C++ per le compilazioni Android. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\MDD\Android\V150\
iOSTargetsPath Well-Known Percorso dei file di importazione MSBuild C++ per le compilazioni iOS. C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Microsoft\MDD\iOS\V150\
VCTargetsPath Well-Known Percorso dei file MSBuild C++ che supportano il sistema di compilazione C++. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\VC\v170\
VCTargetsPath10 Well-Known Percorso dei file MSBuild C++ che supportano il set di strumenti di Visual Studio 2010. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\
VCTargetsPath11 Well-Known Percorso dei file di importazione MSBuild per il set di strumenti di Visual Studio 2012 (V110). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\
VCTargetsPath12 Well-Known Percorso dei file di importazione MSBuild per il set di strumenti di Visual Studio 2013 (V120). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\
VCTargetsPath14 Well-Known Percorso dei file di importazione MSBuild per il set di strumenti di Visual Studio 2015 (V140). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\

Nomi in conflitto con gli elementi di MSBuild

Oltre a quanto sopra, i nomi corrispondenti a elementi del linguaggio MSBuild non possono essere usati per proprietà, elementi o metadati di elementi definiti dall'utente:

  • VisualStudioProject
  • Target
  • PropertyGroup
  • Output
  • ItemGroup
  • UsingTask
  • ProjectExtensions
  • OnError
  • ImportGroup
  • Scegli
  • Se
  • Otherwise

Vedi anche