Dela via


MSBuild på kommandoraden – C++

I allmänhet rekommenderar vi att du använder Visual Studio för att ange projektegenskaper och anropa MSBuild-systemet. Du kan dock använda VERKTYGET MSBuild direkt från kommandotolken. Byggprocessen styrs av informationen i en projektfil (.vcxproj) som du kan skapa och redigera. Projektfilen anger byggalternativ baserat på byggfaser, villkor och händelser. Dessutom kan du ange argument för noll eller fler kommandoradsalternativ .

msbuild.exe [ project_file ] [ alternativen ]

Använd kommandoradsalternativen /target (eller /t) och /property (eller /p) för att åsidosätta specifika egenskaper och mål som anges i projektfilen.

En viktig funktion i projektfilen är att ange ett mål, vilket är en viss åtgärd som tillämpas på projektet, samt de indata och utdata som krävs för att utföra åtgärden. En projektfil kan ange ett eller flera mål, som kan innehålla ett standardmål.

Varje mål består av en sekvens med en eller flera uppgifter. Varje uppgift representeras av en .NET Framework-klass som innehåller ett körbart kommando. CL-aktiviteten innehåller till exempel kommandot cl.exe.

En aktivitetsparameter är en egenskap för klassaktiviteten och representerar vanligtvis ett kommandoradsalternativ för det körbara kommandot. Parametern FavorSizeOrSpeedCL för uppgiften motsvarar till exempel kompileringsalternativen /Os och /Ot .

Ytterligare uppgiftsparametrar stöder MSBuild-infrastrukturen. Aktivitetsparametern anger till exempel Sources en uppsättning aktiviteter som kan användas av andra aktiviteter. Mer information om MSBuild-uppgifter finns i Uppgiftsreferens.

De flesta uppgifter kräver indata och utdata, till exempel filnamn, sökvägar och strängparametrar, numeriska parametrar eller booleska parametrar. En vanlig indata är till exempel namnet på en .cpp källfil som ska kompileras. En viktig indataparameter är en sträng som anger byggkonfigurationen och plattformen, till exempel "Felsöka|Win32". Indata och utdata anges av ett eller flera användardefinierade XML-element Item som finns i ett ItemGroup element.

En projektfil kan också ange användardefinierade egenskaper och ItemDefinitionGroupobjekt. Egenskaper och objekt bildar namn/värde-par som kan användas som variabler i byggprocessen. Namnkomponenten för ett par definierar ett makro och värdekomponenten deklarerar makrovärdet. Ett egenskapsmakron används med $(name) notation och ett objektmakron används med hjälp av %(namn) notation.

Andra XML-element i en projektfil kan testa makron och sedan villkorligt ange värdet för valfritt makro eller styra körningen av bygget. Makronamn och literalsträngar kan sammanfogas för att generera konstruktioner som en sökväg och ett filnamn. På kommandoraden anger eller åsidosätter alternativet /property en projektegenskap. Det går inte att referera till objekt på kommandoraden.

MSBuild-systemet kan villkorligt köra ett mål före eller efter ett annat mål. Dessutom kan systemet skapa ett mål baserat på om de filer som målet använder är nyare än de filer som genereras.

Mer information om MSBuild finns i:

I det här avsnittet

Begrepp Definition
Genomgång: Använda MSBuild för att skapa ett C++-projekt Visar hur du skapar ett Visual Studio C++-projekt med hjälp av MSBuild.
Så här använder du build-händelser i MSBuild Projects Visar hur du anger en åtgärd som inträffar i en particuler-fas i bygget: innan bygget startar; innan länksteget börjar. eller när bygget har upphört.
Så här lägger du till ett anpassat byggsteg i MSBuild Projects Visar hur du lägger till en användardefinierad fas i byggsekvensen.
Så här lägger du till anpassade byggverktyg i MSBuild Projects Visar hur du associerar ett byggverktyg med en viss fil.
Gör så här: Integrera anpassade verktyg i projektegenskaperna Visar hur du lägger till alternativ för ett anpassat verktyg i projektegenskaperna.
Gör så här: Ändra målramverk och plattformsverktygsuppsättning Visar hur du kompilerar ett projekt för flera ramverk eller verktygsuppsättningar.

Se även

Använda MSVC-verktygsuppsättningen från kommandoraden