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.
Ha MSBuild.exe használ projekt- vagy megoldásfájl létrehozásához, több kapcsolót is megadhat a folyamat különböző aspektusainak megadásához.
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.
A .NET CLI-parancsok dotnet build, dotnet publish, dotnet msbuild és a kapcsolódó parancsok továbbítják ezeket a kapcsolókat az MSBuildre, így ez a hivatkozás a parancsok használatakor alkalmazható; azonban dotnet run
nem.
Szintaxis
MSBuild.exe [Switches] [ProjectFile]
Érvek
Vita | Leírás |
---|---|
ProjectFile |
Létrehozza a célokat a megadott projektfájlban. Ha nem ad meg projektfájlt, az MSBuild az aktuális munkakönyvtárban keres egy fájlnévkiterjesztést, amely proj végződik, és ezt a fájlt használja. 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. |
Kapcsolók
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.
Kapcsoló | Leírás |
---|---|
-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 -isolateProjects False é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:true megadá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:True megadá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 |
Ne adjon meg automatikusan MSBuild.rsp vagy Directory.Build.rsp fájlokat. |
-nodeReuse:{value} -nr:{value} |
Engedélyezze vagy tiltsa le az MSBuild csomópontok újrafelhasználását. A következő értékeket adhatja meg: - Igaz. A csomópontok a build befejezése után is megmaradnak, hogy a későbbi buildek használhassák őket (alapértelmezett). - Hamis. 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 filepath ad 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 -isolateProjects False é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\Debug A 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;Compile Ha 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. További információ: Célok. |
-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. Lásd: Toolset (ToolsVersion) és Standard és egyéni eszközkészlet-konfigurációk. |
-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 schema ad 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. További információ: Válaszfájlok. |
-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
Kapcsoló | Leírás |
---|---|
-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. Alapértelmezés szerint a fájl az aktuális könyvtárban található, és msbuild.binlog. 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=Beágyazás. Projektimportálás beágyazása a naplófájlba (alapértelmezett). - ProjectImports=ZipFile. Mentse a projektfájlokat a(z) {output}.projectimports.zip, ahol <kimeneti> ugyanaz a név, mint a bináris naplófájl neve. A ProjectImports alapértelmezett beállítása a Beágyazás. Megjegyzés: a naplózó nem gyűjt nem MSBuild forrásfájlokat, például .cs , .cpp stb.A .binlog fájl "visszajátszható", ha a projektet/megoldást nem projekt/megoldás, hanem argumentumként továbbítja msbuild.exe. 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 a következő címen olvashat bővebben: https://github.com/dotnet/msbuild/blob/main/documentation/wiki/Binary-Log.md példák: - -bl - -bl:output.binlog - -bl:output.binlog;ProjectImports=None - -bl:output.binlog;ProjectImports=ZipFile - -bl:..\..\custom.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. - összefoglaló. 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. - részletességi. 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:minimal Az 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. Alapértelmezés szerint a fájlok neve 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. Ha nem adja meg a number , a kimeneti fájl neve msbuild.log. Ha number ad 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 -consoleloggerparameters listá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. - Hozzáfűző. 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;append Ha 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.log Ebben az esetben a fájl hozzá van fűzve: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;append=true Ebben az esetben a fájl hozzá van fűzve: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;append=false - kódolási. 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;warningsonly Az 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.]LoggerClassName Nem 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] \| AssemblyFile A 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] |
Engedélyezze vagy tiltsa le a terminálnaplózó. 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. |
Példa
Az alábbi példa a rebuild
projekt célját építi ki.
MSBuild.exe MyProject.proj -t:rebuild