Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
When you use MSBuild.exe to build a project or solution file, you can include several switches to specify various aspects of the process.
Minden kapcsoló két formában érhető el: -switch és /switch. A dokumentáció csak a -switch űrlapot jeleníti meg. A kapcsolók nem érzékenyek a kis- és nagybetűkre. Ha a Windows parancssorától eltérő rendszerhéjból futtatja az MSBuild parancsot, előfordulhat, hogy a kapcsoló argumentumlistái (pontosvesszővel vagy vesszővel elválasztva) egyetlen vagy dupla idézőjelet igényelnek annak biztosításához, hogy a rendszerhéj helyett a listák az MSBuildnek legyenek átadva.
The .NET CLI commands dotnet build, dotnet publish, dotnet msbuild and related commands pass these switches to MSBuild, so this reference is applicable when you use those commands; however dotnet run does not.
Syntax
MSBuild.exe [Switches] [ProjectFile]
Arguments
| Argument | Description |
|---|---|
ProjectFile |
Létrehozza a célokat a megadott projektfájlban. If you don't specify a project file, MSBuild searches the current working directory for a file name extension that ends in proj and uses that file. Ehhez az argumentumhoz Visual Studio-megoldásfájlt is megadhat. A Visual Studio 17.12-ben és újabb verzióiban a .slnx megoldásfájl formátuma, valamint a .sln formátum is támogatott. Ugyanahhoz a megoldáshoz .sln és .slnx fájlok is ugyanabban a könyvtárban lehetnek; ha mindkettő jelen van, explicit módon meg kell adnia az egyiket a megoldás létrehozásához. |
Switches
A következő táblázat első oszlopa az egyes kapcsolók hosszú és rövid formáját jeleníti meg. Mindkét űrlap egyenértékű.
A szögletes zárójelek [] választható részeket jelölnek, a kapcsos zárójelek pedig {}a felhasználó által megadott értékeket jelölik.
| Switch | Description |
|---|---|
-detailedSummary[:{True or False}]-ds[:{True or False}] |
Ha True, a buildnapló végén részletes információkat jeleníthet meg a létrehozott konfigurációkról és azok csomópontokra való ütemezéséről. |
-getItem:{itemName,...} |
A kiértékelés után írja ki az elem vagy elemek értékét a build végrehajtása nélkül, vagy ha a -targets vagy a -getTargetResult lehetőséget használja, írja ki az értékeket a build után. |
-getProperty:{propertyName,...} |
Írja ki a tulajdonság vagy tulajdonságok értékét a kiértékelés után, a build végrehajtása nélkül, vagy ha a -targets vagy a -getTargetResult lehetőséget használja, írja ki az értékeket a build után. |
-getTargetResult:{targetName,...} |
Írja ki a megadott célok kimeneti értékeit. |
-graphBuild[:{True or False}]-graph[:{True or False}] |
Az MSBuild projektgráf készítését és összeállítását okozza. A gráf létrehozása magában foglalja az űrlapfüggőségekre mutató projekthivatkozások azonosítását. A gráf készítése magában foglalja a projekthivatkozások létrehozásának megkísérlését az őket hivatkozó projektek előtt, a hagyományos MSBuild ütemezéstől eltérően. Az MSBuild 16-os vagy újabb verziójára van szükség. |
-help/? vagy -h |
Használati adatok megjelenítése. A következő parancs egy példa:msbuild.exe -? |
-ignoreProjectExtensions: {extensions}-ignore: {extensions} |
A megadott bővítmények figyelmen kívül hagyása annak meghatározásakor, hogy melyik projektfájlt kell létrehozni. Több bővítmény elválasztásához használjon pontosvesszőt vagy vesszőt, ahogy az alábbi példa is mutatja:-ignoreprojectextensions:.vcproj,.sln |
-inputResultsCaches[:{cacheFile; ...}]-irc[:{cacheFile; ...}] |
Pontosvesszővel elválasztott lista a bemeneti gyorsítótárfájlokról, amelyekből az MSBuild beolvassa a builderedményeket. Ha -isolateProjectsFalseértékre van állítva , akkor ez Trueértékre állítja. |
-interactive[:{True or False}] |
Azt jelzi, hogy a buildben lévő műveletek használhatják a felhasználót. Ne használja ezt az argumentumot olyan automatizált forgatókönyvekben, ahol az interaktivitás nem várható. A -interactive megadása megegyezik a -interactive:truemegadásával. A paraméterrel felülbírálhat egy válaszfájlból származó értéket. |
-isolateProjects[:{True, MessageUponIsolationViolation, False}]-isolate[:{True, MessageUponIsolationViolation, False}] |
Az MSBuild külön-külön hozza létre az egyes projekteket. Ha MessageUponIsolationViolation (vagy rövid Message) értékre van állítva, a rendszer csak a legfelső szintű célok eredményeit szerializálja, ha a -outputResultsCache kapcsoló van megadva. Ez a beállítás csökkenti annak az esélyét, hogy egy nem megfelelő állapotot használó függőségi projekt elkülönítés-megsértő célpontja olyan gyorsítótárazott céltól való függőség miatt, amelynek mellékhatásait nem veszik figyelembe. (Például egy tulajdonság definíciója.) Ez a mód szigorúbb, mivel megköveteli, hogy a projektgráf statikusan felderíthető legyen a kiértékelési időben, de javíthatja az ütemezést, és csökkentheti a memóriaterhelést nagy projektek létrehozásakor. |
-lowPriority[:{True or False}]-low[:{True or False}] |
Az MSBuild alacsony folyamatprioritáson fut. A -lowPriority megadása megegyezik a -lowPriority:Truemegadásával. |
-maxCpuCount[:{number}]-m[:{number}] |
Az egyidejű folyamatok maximális számát határozza meg az összeállítás során. Ha nem tartalmazza ezt a kapcsolót, az alapértelmezett érték 1. Ha érték megadása nélkül adja meg ezt a kapcsolót, az MSBuild legfeljebb a számítógép processzorainak számát használja. További információ: Több projekt párhuzamos létrehozása. Az alábbi példa arra utasítja az MSBuildet, hogy három MSBuild folyamattal építsen, amely lehetővé teszi három projekt egyidejű összeállítását: msbuild myproject.proj -maxcpucount:3 |
-noAutoResponse-noautorsp |
Don't include any MSBuild.rsp or Directory.Build.rsp files automatically. |
-nodeReuse:{value}-nr:{value} |
Engedélyezze vagy tiltsa le az MSBuild csomópontok újrafelhasználását. A következő értékeket adhatja meg: - True. A csomópontok a build befejezése után is megmaradnak, hogy a későbbi buildek használhassák őket (alapértelmezett). - False. A csomópontok nem maradnak a build befejezése után. A csomópontok egy végrehajtó projektnek felelnek meg. Ha a -maxcpucount kapcsolót is tartalmazza, egyszerre több csomópont is végrehajtható. |
-nologo |
Ne jelenítse meg az indítási szalagcímet vagy a szerzői jogi üzenetet. |
-preprocess[:{filepath}]
-pp[:{filepath}] |
Egyetlen, összesített projektfájl létrehozása a build során importálandó összes fájl felvázolásával, a határaikkal megjelölve. Ezzel a kapcsolóval könnyebben megállapíthatja, hogy mely fájlokat importálja, honnan importálja a fájlokat, és mely fájlok járulnak hozzá a buildhez. Ha ezt a kapcsolót használja, a projekt nem lesz felépítve. Ha filepathad meg, az összesített projektfájl a fájl kimenete. Ellenkező esetben a kimenet megjelenik a konzolablakban.Ha tudni szeretné, hogyan szúrhat be egy projektfájlt egy másik projektfájlba a Import elem használatával, olvassa el Importálás elem (MSBuild) és Útmutató: Azonos cél használata több projektfájlban. |
-outputResultsCache[:{cacheFile}]-orc[:{cacheFile}] |
Kimeneti gyorsítótárfájl, amelyben az MSBuild a buildelési eredmény gyorsítótárainak tartalmát írja a build végén. Ha -isolateProjectsFalseértékre van állítva , akkor ez Trueértékre állítja. |
profileEvaluation:{file} |
Profilok MSBuild kiértékelése és az eredmény írása a megadott fájlba. Ha a megadott fájl kiterjesztése ".md", az eredmény Markdown formátumban jön létre. Ellenkező esetben tabulátorral tagolt fájl jön létre. |
-property:{name}={value}-p:{name}={value} |
A megadott projektszintű tulajdonságok beállítása vagy felülbírálása, ahol a name a tulajdonság neve, a value pedig a tulajdonság értéke. Adja meg az egyes tulajdonságokat külön-külön, vagy használjon pontosvesszőt vagy vesszőt több tulajdonság elkülönítéséhez, ahogy az alábbi példa mutatja:-property:WarningLevel=2;OutDir=bin\DebugA gyakran használt tulajdonságok listájáért tekintse meg gyakori MSBuild projekttulajdonságokat. Az elérhető tulajdonságok teljes készlete a projekt típusától, az SDK-tól és az importált fájloktól függ. |
-restore-r |
Futtatja a Restore célt a tényleges célok létrehozása előtt. |
-restoreProperty:{name}={value}-rp:{name}={value} |
Ezeket a projektszintű tulajdonságokat csak a visszaállítás során állítsa be vagy bírálja felül, és ne használja a -property argumentummal megadott tulajdonságokat.
name a tulajdonság neve, value pedig a tulajdonság értéke. Pontosvesszővel vagy vesszővel elválaszthat több tulajdonságot, vagy külön megadhatja az egyes tulajdonságokat. |
-target:{targets}-t:{targets} |
Hozza létre a megadott célokat a projektben. Adja meg az egyes célokat külön-külön, vagy használjon pontosvesszőt vagy vesszőt több cél elkülönítéséhez, ahogy az alábbi példa mutatja:-target:PrepareResources;CompileHa ezzel a kapcsolóval ad meg célokat, azok a projektfájl DefaultTargets attribútumában lévő célok helyett futnak. További információ: Target build order és How to: Specify which target to build first.A cél a tevékenységek egy csoportja. For more information, see Targets. |
-targets[:{file}]-ts[:{file}] |
Írja be az elérhető célok listáját a megadott fájlba (vagy a kimeneti eszközre, ha nincs megadva fájl), anélkül, hogy ténylegesen végrehajtanák a buildelési folyamatot. |
-toolsVersion:{version}-tv:{version} |
Egyéni eszközkészletet ad meg. Az eszközkészletek egy alkalmazás létrehozásához használt feladatokból, célokból és eszközökből állnak. See Toolset (ToolsVersion) and Standard and custom toolset configurations. |
-validate:[{schema}]-val[{schema}] |
Ellenőrizze a projektfájlt, és ha az ellenőrzés sikeres, hozza létre a projektet. Ha nem adja meg a schema, a projekt az alapértelmezett sémával lesz érvényesítve.Ha schemaad meg, a projekt a megadott sémán lesz érvényesítve.A következő beállítás egy példa: -validate:MyExtendedBuildSchema.xsd |
-verbosity:{level}-v:{level} |
Megadja a buildnaplóban megjelenítendő információk mennyiségét. Minden naplózó az adott naplózóhoz beállított részletességi szint alapján jeleníti meg az eseményeket. A következő részletességi szinteket adhatja meg: q[uiet], m[inimal], n[ormal] (alapértelmezett), d[etailed]és diag[nostic].A következő beállítás egy példa: -verbosity:quiet |
-version-ver |
Csak a verzióinformációk megjelenítése. A projekt nem készült el. |
@{file} |
Parancssori kapcsolók beszúrása szövegfájlból. Ha több fájllal rendelkezik, külön adja meg őket. For more information, see Response files. |
-warnAsError[:{code; ...}]-err[:{code; ...}] |
A hibákként kezelendő figyelmeztető kódok listája. Több figyelmeztető kód elválasztásához használjon pontosvesszőt vagy vesszőt. Ha az összes figyelmeztetést hibaként szeretné kezelni, használja a kapcsolót érték nélkül. Ha egy figyelmeztetést hibaként kezelnek, a cél továbbra is úgy fut, mintha figyelmeztetés lenne, de a teljes build meghiúsul. Példa: -err:MSB4130 |
-warnNotAsError[:{code; ...}]-noerr[:{code; ...}] |
MSBuild 17.0 és újabb verziók. Azoknak a figyelmeztető kódoknak a listája, amelyeket nem szabad hibaként előléptetni. Ha a warnAsError kapcsoló úgy van beállítva, hogy az összes figyelmeztetést hibaként előléptesse, a warnNotAsError kapcsolóval megadott hibakódok nem lesznek előléptetve. Ennek nincs hatása, ha a warnAsError nincs beállítva az összes figyelmeztetés hibaként való előléptetésére. Több figyelmeztető kód elválasztásához használjon pontosvesszőt vagy vesszőt. Példa: -noerr:MSB4130 |
-warnAsMessage[:{code}; ...}]-noWarn[:{code; ...}] |
Az alacsony fontosságú üzenetekként kezelendő figyelmeztető kódok listája. Több figyelmeztető kód elválasztásához használjon pontosvesszőt vagy vesszőt. Példa: -noWarn:MSB3026 |
Kapcsolók a naplózókhoz
| Switch | Description |
|---|---|
-binaryLogger[:[LogFile=]{output.binlog}[;ProjectImports=None,Embed,ZipFile]]-bl[:[LogFile=]{output.binlog}[;ProjectImports=None,Embed,ZipFile]] |
Szerializálja az összes buildeseményt egy tömörített bináris fájlba. By default the file is in the current directory and named msbuild.binlog. Az opcionális LogFile paraméter elfogadja az űrlap {filename}.binlogegy sztringét, amely {filename} érvényes fájlrendszerkarakterekből áll, de helyőrző szimbólumot {}is elfogad. Ha {} meg van adva, az MSBuild kitölti ezt a pozíciót az űrlap yyyyMMdd-HHmmss--<current process id>--<6-character random string>"egyedi bélyegzőjével". A bináris napló részletes leírást ad a buildelési folyamatról, amely később használható a szövegnaplók rekonstruálásához, és amelyet más elemzőeszközök is használhatnak. A bináris naplók általában 10-20-szor kisebbek a legrészletesebb szöveges diagnosztikai szintű naplónál, de több információt tartalmaznak.A bináris naplózó alapértelmezés szerint összegyűjti a projektfájlok forrásszövegét, beleértve az összes importált projektet és a build során észlelt célfájlokat. Ezt a viselkedést az opcionális ProjectImports paraméter vezérli:- ProjectImports=None. Ne gyűjtse össze a projektimportálást. - ProjectImports=Embed. Projektimportálás beágyazása a naplófájlba (alapértelmezett). - ProjectImports=ZipFile. Save project files to {output}.projectimports.zip where <output> is the same name as the binary log file name. A ProjectImports alapértelmezett beállítása a Beágyazás. Note: the logger doesn't collect non-MSBuild source files such as .cs, .cpp, and so on.A .binlog file can be "played back" by passing it to msbuild.exe as an argument instead of a project/solution. Más naplózók úgy kapják meg a naplófájlban található információkat, mintha az eredeti buildelés történt volna. A bináris naplóról és annak használatáról az MSBuild bináris napló áttekintésében olvashat bővebben. Examples: - -bl- -bl:output.binlog- -bl:output.binlog;ProjectImports=None- -bl:output.binlog;ProjectImports=ZipFile- -bl:..\..\custom.binlog- -bl:publish-{}.binlog- -binaryLogger |
-consoleLoggerParameters:{parameters}-clp:{parameters} |
Adja meg a megadott paramétereket a konzolnaplózónak, amely a konzolablakban jeleníti meg a buildadatokat. A következő paramétereket adhatja meg: - PerformanceSummary. A tevékenységekben, célokban és projektekben töltött idő megjelenítése. - Summary. A hiba és a figyelmeztetés összegzésének megjelenítése a végén. - NoSummary. Ne jelenjen meg a hiba és a figyelmeztetés összegzése a végén. - ErrorsOnly. Csak hibák megjelenítése. - WarningsOnly. Csak figyelmeztetések megjelenítése. - NoItemAndPropertyList. Ne jelenítse meg az egyes projekt buildek elején megjelenő elemek és tulajdonságok listáját, ha a részletességi szint diagnostic.- ShowCommandLine. TaskCommandLineEvent üzenetek megjelenítése.- ShowProjectFile. A projektfájl elérési útjának megjelenítése diagnosztikai üzenetekben. Ez a beállítás alapértelmezés szerint be van kapcsolva. - ShowTimestamp. Az időbélyeg megjelenítése bármely üzenet előtagjaként. - ShowEventId. Minden megkezdett esemény, befejezett esemény és üzenet eseményazonosítójának megjelenítése. - ForceNoAlign. Ne igazítsa a szöveget a konzolpuffer méretéhez. - DisableConsoleColor. Használja az alapértelmezett konzolszíneket az összes naplózási üzenethez. - DisableMPLogging. Tiltsa le a kimenet többprocesszoros naplózási stílusát, ha nem többprocesszoros módban fut. - EnableMPLogging. Engedélyezze a többprocesszoros naplózási stílust akkor is, ha nem többprocesszoros módban fut. Ez a naplózási stílus alapértelmezés szerint be van kapcsolva. - ForceConsoleColor. Akkor is használjon ANSI-konzolszíneket, ha a konzol nem támogatja. - Verbosity. Bírálja felül a naplózó -verbosity beállítását.Használjon pontosvesszőt több paraméter elválasztásához, ahogy az alábbi példa is mutatja: -consoleLoggerParameters:PerformanceSummary;NoSummary -verbosity:minimalAz alapértelmezett konzolnaplózó normál részletességgel rendelkezik, és tartalmaz egy Summary. |
-distributedFileLogger-dfl |
Naplózza az egyes MSBuild csomópontok buildkimenetét a saját fájljába. Ezeknek a fájloknak a kezdeti helye az aktuális könyvtár. By default, the files are named MSBuild{NodeId}.log. A -fileLoggerParameters kapcsolóval megadhatja a fájlok helyét és a fileLogger egyéb paramétereit.Ha a -fileLoggerParameters kapcsolóval nevez el egy naplófájlt, az elosztott naplózó ezt a nevet használja sablonként, és hozzáfűzi a csomópontazonosítót ehhez a névhez, amikor minden csomóponthoz létrehoz egy naplófájlt. |
-distributedLogger:{central logger},{forwarding logger}, ...-dl:{central logger},{forwarding logger, ...} |
Naplóesemények az MSBuildből, és egy másik naplózópéldány csatolása az egyes csomópontokhoz. Több naplózó megadásához külön adja meg az egyes naplózókat. A naplózó szintaxisával megadhatja a naplózót, kivéve, ha ön ad meg további osztályt a továbbító naplózónak. A naplózó szintaxisát a -logger kapcsolóban találhatja meg.Az alábbi példák a kapcsoló használatát mutatják be: -dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral-dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll |
-fileLogger[{number}]-fl[{number}] |
Naplózza a build kimenetét egyetlen fájlba az aktuális könyvtárban. If you don't specify number, the output file is named msbuild.log. Ha numberad meg, a kimeneti fájl neve msbuild<n>.log, ahol <n>number.
Number számjegy lehet 1 és 9 között.A -fileLoggerParameters kapcsolóval megadhatja a fájl helyét és a fileLogger egyéb paramétereit. |
-fileLoggerParameters[{number}]:parameters-flp[{number}]: {parameters} |
Megadja a fájlnaplózó és az elosztott fájlnaplózó további paramétereit. A kapcsoló jelenléte azt jelenti, hogy a megfelelő -filelogger[number] kapcsoló jelen van.
Number számjegy lehet 1 és 9 között.A -consoleloggerparameterslistában szereplő összes paramétert használhatja. Az alábbi paraméterek közül egy vagy több is használható:- LogFile. Annak a naplófájlnak az elérési útja, amelybe a buildnapló meg van írva. Az elosztott fájlnaplózó előtagja ezt az elérési utat a naplófájlok nevére osztja. - Append. Meghatározza, hogy a buildnapló hozzá van-e fűzve a naplófájlhoz, vagy felülírja azt. A kapcsoló beállításakor a buildnapló hozzá lesz fűzve a naplófájlhoz. Ha a kapcsoló nincs jelen, a rendszer felülírja egy meglévő naplófájl tartalmát. Példa: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;appendHa explicit true vagy false beállítást is tartalmaz, a rendszer a beállítástól függetlenül hozzáfűzi a naplót. Ha nem tartalmazza a hozzáfűző kapcsolót, a rendszer felülírja a naplót.Ebben az esetben a fájl felülíródik: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.logEbben az esetben a fájl hozzá van fűzve: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;append=trueEbben az esetben a fájl hozzá van fűzve: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;append=false- Encoding. Megadja a fájl kódolását (például UTF-8, Unicode vagy ASCII). Az alábbi példa külön naplófájlokat hoz létre a figyelmeztetésekhez és a hibákhoz: -flp1:logfile=errors.txt;errorsonly -flp2:logfile=warnings.txt;warningsonlyAz alábbi példák további lehetőségeket mutatnak be: -fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8-flp:Summary;Verbosity=minimal;LogFile=msbuild.sum-flp1:warningsonly;logfile=msbuild.wrn-flp2:errorsonly;logfile=msbuild.err |
-logger:logger-l:logger |
Az MSBuild eseménynaplózásához használandó naplózót adja meg. Több naplózó megadásához külön adja meg az egyes naplózókat. Használja a következő szintaxist logger: [LoggerClass,]LoggerAssembly[;LoggerParameters]Használja a következő szintaxist LoggerClass: [PartialOrFullNamespace.]LoggerClassNameNem kell megadnia a naplózóosztályt, ha a szerelvény pontosan egy naplózót tartalmaz. Használja a következő szintaxist LoggerAssembly: AssemblyName[,StrongName] \| AssemblyFileA naplózóparaméterek megadása nem kötelező, és a rendszer pontosan a megadott módon továbbítja a naplózónak. Az alábbi példák a -logger kapcsolót használják.-logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral-logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML |
-noConsoleLogger-noconlog |
Tiltsa le az alapértelmezett konzolnaplózót, és ne naplózza az eseményeket a konzolon. |
-terminalLogger[:auto,on,off]-tl[:auto,on,off] |
Enable or disable the terminal logger. A terminálnaplózó továbbfejlesztett buildkimenetet biztosít a konzolon valós időben, a projekt szerint logikusan rendszerezve, és úgy van kialakítva, hogy kiemelje a végrehajtható információkat. Adja meg auto (vagy használja az argumentumok nélküli beállítást) a terminálnaplózó használatához csak akkor, ha a standard kimenet nincs átirányítva. Ne elemezd a kimenetet, és ne hagyatkozz arra, hogy a későbbi verziókban változatlan maradjon. Ez a lehetőség az MSBuild 17.8-s és újabb verzióiban érhető el. |
Example
The following example builds the rebuild target of the MyProject.proj project.
MSBuild.exe MyProject.proj -t:rebuild