Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du anger projektegenskaper i IDE och sedan sparar projektet skriver Visual Studio projektinställningarna till projektfilen. Projektfilen innehåller inställningar som är unika för projektet. Den innehåller dock inte alla inställningar som krävs för att skapa projektet. Projektfilen innehåller Import element som innehåller ett nätverk med ytterligare supportfiler. Supportfilerna innehåller återstående egenskaper, mål och inställningar som krävs för att skapa projektet.
De flesta mål och egenskaper i supportfilerna finns enbart för att implementera byggsystemet. I den här artikeln beskrivs användbara mål och egenskaper som du kan ange på kommandoraden MSBuild. Om du vill identifiera fler mål och egenskaper kan du utforska filerna i supportfilkatalogerna.
Stöd för filkataloger
Som standard finns de primära Visual Studio-stödfilerna i följande kataloger. Den här informationen är versionsspecifik.
Visual Studio 2022 och 2019
%VSINSTALLDIR%MSBuild\Microsoft\VC\<version>\Innehåller de primära målfilerna (
.targets) och egenskapsfilerna (.props) som används av målen. Som standard refererar makrot$(VCTargetsPath)till den här katalogen. Platshållaren<version>refererar till Visual Studio-versionen: v170 för Visual Studio 2022, v160 för Visual Studio 2019 eller v150 för Visual Studio 2017.%VSINSTALLDIR%MSBuild\Microsoft\VC\<version>\Platforms\<platform>\Innehåller plattformsspecifika mål- och egenskapsfiler som åsidosätter mål och egenskaper i den överordnade katalogen. Den här katalogen innehåller också en DLL som definierar de uppgifter som används av målen i den här katalogen. Platshållaren
<platform>representerar underkatalogen ARM, ARM64, Win32 eller x64.%VSINSTALLDIR%MSBuild\Microsoft\VC\<version>\Platforms\<platform>\PlatformToolsets\<toolset>\Innehåller de kataloger som gör det möjligt för bygget att generera C++-program med hjälp av den angivna
<toolset>. Platshållaren<platform>representerar underkatalogen ARM, ARM64, Win32 eller x64. Platshållaren<toolset>representerar underkatalogen för verktygsuppsättningen.
Visual Studio 2017
%VSINSTALLDIR%Common7\IDE\VC\VCTargets\Innehåller de primära målfilerna (
.targets) och egenskapsfilerna (.props) som används av målen. Som standard refererar makrot$(VCTargetsPath)till den här katalogen.%VSINSTALLDIR%Common7\IDE\VC\VCTargets\Platforms\<platform>\Innehåller plattformsspecifika mål- och egenskapsfiler som åsidosätter mål och egenskaper i den överordnade katalogen. Den här katalogen innehåller också en DLL som definierar de uppgifter som används av målen i den här katalogen. Platshållaren
<platform>representerar underkatalogen ARM, ARM64, Win32 eller x64.%VSINSTALLDIR%Common7\IDE\VC\VCTargets\Platforms\<platform>\PlatformToolsets\<toolset>\Innehåller de kataloger som gör det möjligt för bygget att generera C++-program med hjälp av den angivna
<toolset>. Platshållaren<platform>representerar underkatalogen ARM, Win32 eller x64. Platshållaren<toolset>representerar underkatalogen för verktygsuppsättningen.
Visual Studio 2015 och tidigare
<drive>:\Program Files[ (x86)]\MSBuild\Microsoft.Cpp\v4.0\<version>\Innehåller de primära målfilerna (
.targets) och egenskapsfilerna (.props) som används av målen. Som standard refererar makrot $(VCTargetsPath) till den här katalogen.<drive>:\Program Files[ (x86)]\MSBuild\Microsoft.Cpp\v4.0\<version>\Platforms\<platform>\Innehåller plattformsspecifika mål- och egenskapsfiler som åsidosätter mål och egenskaper i den överordnade katalogen. Den här katalogen innehåller också en DLL som definierar de uppgifter som används av målen i den här katalogen. Platshållaren
<platform>representerar underkatalogen ARM, Win32 eller x64.<drive>:\Program Files[ (x86)]\MSBuild\Microsoft.Cpp\v4.0\<version>\Platforms\<platform>\PlatformToolsets\<toolset>\Innehåller de kataloger som gör det möjligt för bygget att generera C++-program med hjälp av den angivna
<toolset>. Platshållaren<version>är V110 för Visual Studio 2012, V120 för Visual Studio 2013 och V140 för Visual Studio 2015. Platshållaren<platform>representerar underkatalogen ARM, Win32 eller x64. Platshållaren<toolset>representerar underkatalogen för verktygsuppsättningen. Det är till exempel v140 för att skapa Windows-appar med hjälp av Visual Studio 2015-verktygsuppsättningen. Eller v120_xp att skapa för Windows XP med hjälp av Visual Studio 2013-verktygsuppsättningen.<drive>:\Program Files[ (x86)]\MSBuild\Microsoft.Cpp\v4.0\Platforms\<platform>\PlatformToolsets\<toolset>\De sökvägar som gör att bygget kan generera visual studio 2008- eller Visual Studio 2010-program innehåller
<version>inte . I dessa versioner<platform>representerar platshållaren underkatalogen Itanium, Win32 eller x64. Platshållaren<toolset>representerar underkatalogen v90 eller v100 toolset.
Supportfiler
Stödfilkatalogerna innehåller filer med följande tillägg:
| Extension | Description |
|---|---|
.targets |
Innehåller Target XML-element som anger de uppgifter som körs av målet. Kan också innehålla PropertyGroup, ItemGroup, ItemDefinitionGroupoch användardefinierade Item element som används för att tilldela filer och kommandoradsalternativ till aktivitetsparametrar.Mer information finns i Target Element (MSBuild). |
.props |
Innehåller Property Group och användardefinierade Property XML-element som anger fil- och parameterinställningar som används under en version.Kan också innehålla ItemDefinitionGroup och användardefinierade Item XML-element som anger ytterligare inställningar. Objekt som definierats i en objektdefinitionsgrupp liknar egenskaper, men kan inte nås från kommandoraden. Visual Studio-projektfiler använder ofta objekt i stället för egenskaper för att representera inställningar.Mer information finns i ItemGroup Element (MSBuild), ItemDefinitionGroup Element (MSBuild)och Item Element (MSBuild). |
.xml |
Innehåller XML-element som deklarerar och initierar IDE-användargränssnittselement. Till exempel egenskapsblad, egenskapssidor, textrutekontroller och listrutekontroller. Filerna .xml har direkt stöd för IDE, inte MSBuild. Värdena för IDE-egenskaper tilldelas dock för att skapa egenskaper och objekt.De flesta .xml filer finns i en språkspecifik underkatalog. Filer för English-US-regionen finns till exempel i $(VCTargetsPath)\1033\. |
Användarmål och egenskaper
Om du vill använda MSBuild effektivt hjälper det dig att veta vilka egenskaper och mål som är användbara och relevanta. De flesta egenskaper och mål hjälper till att implementera Visual Studio-byggsystemet och är inte relevanta för användaren. I det här avsnittet beskrivs användarorienterade egenskaper och mål som är värda att känna till.
PlatformToolset egenskap
Egenskapen PlatformToolset avgör vilken Microsoft C++-verktygsuppsättning (MSVC) som används i versionen. Som standard används den aktuella verktygsuppsättningen. När den här egenskapen anges sammanfogas dess värde med literalsträngar för att bilda sökvägen. Det är katalogen som innehåller de egenskaps- och målfiler som krävs för att skapa ett projekt för en viss plattform. Plattformsverktyguppsättningen måste installeras för att kunna byggas med hjälp av den versionen av plattformsverktygsuppsättningen.
Ange till exempel PlatformToolset egenskapen till v140 att använda Visual Studio 2015-verktyg och bibliotek för att skapa ditt program:
msbuild myProject.vcxproj /p:PlatformToolset=v140
PreferredToolArchitecture egenskap
Egenskapen PreferredToolArchitecture avgör om 32-bitars eller 64-bitars kompilatorn och verktygen används i versionen. Den här egenskapen påverkar inte utdataplattformens arkitektur eller konfiguration. Som standard använder MSBuild x86-versionen av kompilatorn och verktygen om den här egenskapen inte har angetts.
Ange till exempel PreferredToolArchitecture egenskapen till x64 att använda 64-bitars kompilatorn och verktygen för att skapa ditt program:
msbuild myProject.vcxproj /p:PreferredToolArchitecture=x64
UseEnv egenskap
Som standard åsidosätter PATHde plattformsspecifika inställningarna för det aktuella projektet miljövariablerna , INCLUDE, LIB, LIBPATH, CONFIGURATIONoch PLATFORM . Ange egenskapen UseEnv till true för att garantera att miljövariablerna inte åsidosätts.
msbuild myProject.vcxproj /p:UseEnv=true
Targets
Det finns hundratals mål i Visual Studio-stödfilerna. De flesta är dock systemorienterade mål som användaren kan ignorera. De flesta systemmål prefixas av ett understreck (_) eller har ett namn som börjar med PrepareFor, Compute, Before, After, Preeller Post.
I följande tabell visas flera användbara användarorienterade mål.
| Target | Description |
|---|---|
BscMake |
Kör verktyget Microsoft Browse Information Maintenance Utility, bscmake.exe. |
Build |
Skapar projektet. Det här målet är standardvärdet för ett projekt. |
ClCompile |
Kör VERKTYGET MSVC-kompilator, cl.exe. |
Clean |
Tar bort temporära och mellanliggande byggfiler. |
Lib |
Kör microsoft 32-bitarsbibliotekshanteraren, lib.exe. |
Link |
Kör VERKTYGET MSVC-länkare, link.exe. |
ManifestResourceCompile |
Extraherar en lista över resurser från ett manifest och kör sedan verktyget Microsoft Windows Resource Compiler, rc.exe. |
Midl |
Kör kompilatorverktyget midl.exeMICROSOFT Interface Definition Language (MIDL), . |
Rebuild |
Rensar och skapar sedan projektet. |
ResourceCompile |
Kör verktyget Microsoft Windows Resource Compiler, rc.exe. |
XdcMake |
Kör XML-dokumentationsverktyget . xdcmake.exe |
Xsd |
Kör XML-schemadefinitionsverktyget. xsd.exe
Se anteckningen. |
Anmärkning
I Visual Studio 2017 och senare är C++-projektstöd för .xsd filer inaktuellt. Du kan fortfarande använda Microsoft.VisualC.CppCodeProvider genom att lägga till CppCodeProvider.dll manuellt i GAC.
Se även
Referens för MSBuild-uppgift
BscMake uppgift
CL uppgift
CPPClean uppgift
LIB uppgift
Link uppgift
MIDL uppgift
MT uppgift
RC uppgift
SetEnv uppgift
VCMessage uppgift
XDCMake uppgift