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.
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 MSBuildProjectFile proprietà , digitare $(MSBuildProjectFile).
MSBuild usa i valori nella tabella seguente per definire proprietà riservate e 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à | Riservato o noto | Description | Example |
|---|---|---|---|
FrameworkSDKRoot |
Noto | Percorso della cartella radice per gli strumenti di .NET Framework. | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\ |
InnerBuildProperty |
Noto | 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 |
Noto | Specifica il nome della proprietà che contiene i valori possibili per ( InnerBuildProperty applicabile solo se la compilazione corrente è una compilazione del grafo). |
TargetFrameworks |
IsGraphBuild |
Noto |
True se si tratta di una compilazione a grafo; vale a dire, l'opzione -graphBuild è in vigore. 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 |
Riservato | Versione degli assembly MSBuild usata per compilare il progetto. | 17.0 |
MSBuildBinPath |
Riservato | 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 su questa proprietà. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64 |
MSBuildDisableFeaturesFromVersion |
Riservato | Usato da MSBuild e dagli SDK Microsoft per gestire le onde di modifica. | |
MSBuildExtensionsPath |
Noto | Introdotto in .NET Framework 4: non esiste alcuna differenza tra i valori predefiniti di MSBuildExtensionsPath e MSBuildExtensionsPath32. È possibile impostare la variabile MSBUILDLEGACYEXTENSIONSPATH di ambiente 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, questa proprietà punta alla cartella \Programmi (x86). Per un processo a 64 bit in un computer a 64 bit, questa proprietà punta alla cartella \Programmi .Non includere la barra rovesciata finale su questa proprietà. Questo percorso è una posizione utile per inserire file di destinazione personalizzati. Ad esempio, i file di destinazione possono essere installati in \Programmi\MSBuild\MyFiles\Northwind.targets e quindi importati nei file di progetto usando questo codice XML: <Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/> |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild |
MSBuildExtensionsPath32 |
Noto | Percorso della sottocartella MSBuild nella cartella \Programmi o \Programmi (x86). Il percorso punta sempre alla cartella \Programmi (x86) a 32 bit in un computer a 32 bit e \Programmi in un computer a 64 bit. Vedere anche MSBuildExtensionsPath e MSBuildExtensionsPath64.Non includere la barra rovesciata finale su questa proprietà. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild |
MSBuildExtensionsPath64 |
Noto | Percorso della sottocartella MSBuild nella cartella \Programmi . Per un computer a 64 bit, questo percorso punta sempre alla cartella \Programmi . Per un computer a 32 bit, questo percorso è vuoto. Vedere anche MSBuildExtensionsPath e MSBuildExtensionsPath32.Non includere la barra rovesciata finale su questa proprietà. |
C:\Program Files\MSBuild |
MSBuildFileVersion |
Riservato | Versione 4 parte degli assembly MSBuild usati per compilare il progetto. | 17.4.0.46505 |
MSBuildFrameworkToolsPath |
Noto | 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 |
Noto | 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 |
Noto | 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 |
Riservato |
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 |
Riservato |
true se l'attività precedente è stata completata senza errori (anche se sono presenti avvisi) o false se l'attività precedente presenta errori. In genere, quando si verifica un errore in un'attività, l'errore è l'ultima cosa che si verifica nel progetto. Pertanto, il valore di questa proprietà non è mai false, tranne in questi scenari:- Quando l'attributo ContinueOnErrordell'elemento Task (MSBuild) è impostato su WarnAndContinue (o ) o trueErrorAndContinue.- Quando ha Target un elemento OnError (MSBuild) come elemento figlio. |
true |
MSBuildNodeCount |
Riservato | Numero massimo di processi simultanei usati durante la compilazione. Questo è il valore specificato per -maxcpucount nella riga di comando. Se è stato specificato -maxcpucount senza specificare un valore, MSBuildNodeCount specifica il numero di processori nel computer. Per altre informazioni, vedere Informazioni di riferimento sulla riga di comando e Compilare più progetti in parallelo. |
1 |
MSBuildOverrideTasksPath |
Noto | 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 |
Riservato | Percorso della cartella del programma a 32 bit; ad esempio C:\Programmi (x86). Non includere la barra rovesciata finale su questa proprietà. |
C:\Program Files (x86) |
MSBuildProjectDefaultTargets |
Riservato | Elenco completo delle destinazioni specificate nell'attributo DefaultTargets dell'elemento Project . Ad esempio, l'elemento seguente Project avrà un MSBuildDefaultTargets valore della proprietà pari A;B;Ca :<Project DefaultTargets="A;B;C" > |
Build |
MSBuildProjectDirectory |
Riservato | Percorso assoluto della directory in cui si trova il file di progetto, ad esempio C:\MyCompany\MyProduct. Non includere la barra rovesciata finale su questa proprietà. |
C:\Source\Repos\ConsoleApp1\ConsoleApp1 |
MSBuildProjectDirectoryNoRoot |
Riservato | Valore della MSBuildProjectDirectory proprietà, escluso l'unità radice.Non includere la barra rovesciata finale su questa proprietà. |
Source\Repos\ConsoleApp1\ConsoleApp1 |
MSBuildProjectExtension |
Riservato | Estensione di file del file di progetto, incluso il punto; ad esempio .proj. | .csproj |
MSBuildProjectFile |
Riservato | Nome file completo del file di progetto, inclusa l'estensione del nome file; ad esempio MyApp.proj. | ConsoleApp1.csproj |
MSBuildProjectFullPath |
Riservato | Percorso assoluto e nome file completo del file di progetto, inclusa l'estensione del nome file; ad esempio C:\MyCompany\MyProduct\MyApp.proj. | c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj |
MSBuildProjectName |
Riservato | Nome file del file di progetto senza l'estensione del nome file; ad esempio MyApp. | ConsoleApp1 |
MSBuildRuntimeType |
Riservato | Tipo del runtime 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 |
Riservato | 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 disponibile 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 eseguire la compilazione in qualsiasi punto dell'albero, digitare: msbuild c:\traversal.projNon includere la barra rovesciata finale su questa proprietà. |
c:\Source\Repos\ConsoleApp1 |
MSBuildThisFile |
Riservato | Il nome file e la parte dell'estensione di file di MSBuildThisFileFullPath. |
ConsoleApp1.csproj |
MSBuildThisFileDirectory |
Riservato | Parte della directory di MSBuildThisFileFullPath.Includere la barra rovesciata finale nel percorso. |
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ |
MSBuildThisFileDirectoryNoRoot |
Riservato | Parte della directory di MSBuildThisFileFullPath, esclusa l'unità radice.Includere la barra rovesciata finale nel percorso. |
Source\Repos\ConsoleApp1\ConsoleApp1\ |
MSBuildThisFileExtension |
Riservato | Parte dell'estensione del nome file di MSBuildThisFileFullPath. |
.csproj |
MSBuildThisFileFullPath |
Riservato | Percorso assoluto del file di progetto o di destinazione che contiene la destinazione in esecuzione. Suggerimento: è possibile specificare un percorso relativo in un file di destinazioni relativo al file di destinazione e non relativo al file di progetto originale. |
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj |
MSBuildThisFileName |
Riservato | Parte del nome file di MSBuildThisFileFullPath, senza l'estensione del nome file. |
ConsoleApp1 |
MSBuildToolsPath |
Riservato | Percorso di installazione della versione di MSBuild associata al valore di MSBuildToolsVersion.Non includere la barra rovesciata finale nel percorso. Impossibile eseguire l'override di questa proprietà. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64 |
MSBuildToolsPath32 |
Noto | Percorso di installazione della versione MSBuild a 32 bit associata al valore di MSBuildToolsVersion.Non includere la barra rovesciata finale nel percorso. Impossibile eseguire l'override di questa proprietà. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin |
MSBuildToolsPath64 |
Noto | Percorso di installazione della versione MSBuild a 64 bit associata al valore di MSBuildToolsVersion.Non includere la barra rovesciata finale nel percorso. Impossibile eseguire l'override di questa proprietà. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64 |
MSBuildToolsVersion |
Riservato | 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 (ToolsVersion) e Configurazioni standard e personalizzate del set di strumenti. |
Current |
MSBuildSDKsPath |
Noto | Il percorso usato da MSBuild per trovare gli SDK. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Sdks |
MSBuildSemanticVersion |
Riservato | Versione completa di semver 2.0 degli assembly MSBuild usati per compilare il progetto. | 17.4.0-preview-22465-05+6033e4c95 |
MSBuildUserExtensionsPath |
Noto | 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 |
Riservato | Versione di MSBuild usata per compilare il progetto. Non è possibile eseguire l'override di questa proprietà. In caso contrario, viene restituito il messaggio MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified. di errore. |
17.4.0 |
MSBuildWarningsAsErrors |
Noto | Elenco di codici di avviso da considerare come errori. | MSB1234;MSB5678 |
MSBuildWarningsAsMessages |
Noto | Elenco di codici di avviso da considerare come messaggi. | MSB1234;MSB5678 |
MSBuildWarningsNotAsErrors |
Noto | 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 |
Noto | 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 |
Noto | Percorso delle destinazioni per i compilatori Roslyn. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\Roslyn |
SDK35ToolsPath |
Noto | Percorso degli strumenti di .NET Framework 3.5. | |
SDK40ToolsPath |
Noto | Percorso degli strumenti di .NET Framework 4.0. | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ |
VsInstallRoot |
Noto | Cartella di installazione di Visual Studio. | C:\Program Files\Microsoft Visual Studio\2022 |
WindowsSDK80Path |
Noto | Percorso di Windows 8 SDK. |
Proprietà specifiche dei progetti C++
Le proprietà seguenti rappresentano il percorso dei file di importazione di MSBuild C++, ad esempio .props e .targets , per varie versioni di MSVC Build Tools (set di strumenti) e 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à | Riservato o noto | Description | Example |
|---|---|---|---|
AndroidTargetsPath |
Noto | Percorso dei file di importazione MSBuild C++ per le compilazioni Android. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\MDD\Android\V150\ |
iOSTargetsPath |
Noto | 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 |
Noto | Percorso dei file MSBuild C++ che supportano il sistema di compilazione C++. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\VC\v170\ |
VCTargetsPath10 |
Noto | 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 |
Noto | 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 |
Noto | 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 |
Noto | 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 MSBuild
Oltre ai precedenti, i nomi corrispondenti agli elementi del linguaggio MSBuild non possono essere usati per proprietà, elementi o metadati di elemento definiti dall'utente:
- VisualStudioProject
- Obiettivo
- PropertyGroup
- Risultato
- ItemGroup
- UsingTask
- ProjectExtensions
- OnError
- ImportGroup
- Scegli
- When
- Altrimenti