Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
When you use MSBuild.exe to build a project or solution file, you can include several switches to specify various aspects of the process.
Každý přepínač je k dispozici ve dvou formách: -switch a /switch. V dokumentaci se zobrazuje jenom formulář -switch. Přepínače nerozlišují malá a velká písmena. Pokud spustíte nástroj MSBuild z jiného prostředí než příkazového řádku Windows, můžou seznamy argumentů přepínače (oddělené středníky nebo čárkami) potřebovat jednoduché nebo dvojité uvozovky, aby se zajistilo, že seznamy se předávají nástroji MSBuild místo interpretace prostředím.
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 |
Sestaví cíle v zadaném souboru projektu. 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. Pro tento argument můžete také zadat soubor řešení sady Visual Studio. V sadě Visual Studio 17.12 a novějších je podporovaný formát souboru řešení .slnx a také formát .sln. Soubory .sln i .slnx pro stejné řešení mohou být přítomné ve stejném adresáři; pokud jsou k dispozici oba, musíte explicitně zadat jeden z nich pro sestavení řešení. |
Switches
První sloupec v následující tabulce zobrazuje dlouhý a krátký tvar každého přepínače. Oba formuláře jsou ekvivalentní.
Hranaté závorky [] označují volitelné části a složené závorky {}označují hodnoty zadané uživatelem.
| Switch | Description |
|---|---|
-detailedSummary[:{True or False}]-ds[:{True or False}] |
Pokud True, zobrazte podrobné informace na konci protokolu sestavení o konfiguracích, které byly vytvořeny a jak byly naplánovány na uzly. |
-getItem:{itemName,...} |
Zapište hodnotu položky nebo položek po vyhodnocení, aniž byste provedli sestavení, nebo pokud se použije možnost -targets nebo -getTargetResult, zapište hodnoty za sestavením. |
-getProperty:{propertyName,...} |
Po vyhodnocení zapište hodnotu vlastnosti nebo vlastností, aniž byste provedli sestavení, nebo pokud se použije možnost -targets nebo možnost -getTargetResult, zapište hodnoty za sestavením. |
-getTargetResult:{targetName,...} |
Zapište výstupní hodnoty zadaných cílů. |
-graphBuild[:{True or False}]-graph[:{True or False}] |
Způsobí, že nástroj MSBuild sestaví a sestaví graf projektu. Vytvoření grafu zahrnuje identifikaci odkazů projektu na závislosti formuláře. Sestavení grafu zahrnuje pokus o sestavení odkazů projektu před projekty, které na ně odkazují, a liší se od tradičního plánování nástroje MSBuild. Vyžaduje MSBuild 16 nebo novější. |
-help/? nebo -h |
Zobrazení informací o využití Následující příkaz je příkladem:msbuild.exe -? |
-ignoreProjectExtensions: {extensions}-ignore: {extensions} |
Při určování souboru projektu, který se má sestavit, ignorujte zadaná rozšíření. Středník nebo čárka slouží k oddělení více rozšíření, jak ukazuje následující příklad:-ignoreprojectextensions:.vcproj,.sln |
-inputResultsCaches[:{cacheFile; ...}]-irc[:{cacheFile; ...}] |
Středník oddělený seznam souborů vstupní mezipaměti, ze kterých msBuild načte výsledky sestavení. Pokud je -isolateProjects nastavena na False, nastaví se na True. |
-interactive[:{True or False}] |
Označuje, že akce v sestavení mají povolenou interakci s uživatelem. Nepoužívejte tento argument v automatizovaném scénáři, kdy se neočekává interaktivita. Určení -interactive je stejné jako určení -interactive:true. Pomocí parametru můžete přepsat hodnotu, která pochází ze souboru odpovědi. |
-isolateProjects[:{True, MessageUponIsolationViolation, False}]-isolate[:{True, MessageUponIsolationViolation, False}] |
Způsobí, že nástroj MSBuild sestaví každý projekt izolovaně. Pokud je nastavena hodnota MessageUponIsolationViolation (nebo její krátká forma Message), jsou při zadání přepínače -outputResultsCache serializovány pouze výsledky z cílů nejvyšší úrovně. Tato možnost je zmírnit riziko porušení cíle izolace na projektu závislostí s nesprávným stavem kvůli závislosti na cíli uloženém v mezipaměti, jehož vedlejší účinky by se nebraly v úvahu. (Například definice vlastnosti.) Tento režim je více omezující, protože vyžaduje, aby byl graf projektu staticky zjistitelný v době vyhodnocení, ale může zlepšit plánování a snížit režii paměti při sestavování velké sady projektů. |
-lowPriority[:{True or False}]-low[:{True or False}] |
Způsobí spuštění nástroje MSBuild s nízkou prioritou procesu. Určení -lowPriority je stejné jako určení -lowPriority:True. |
-maxCpuCount[:{number}]-m[:{number}] |
Určuje maximální počet souběžnýchprocesůch Pokud tento přepínač nezadáte, výchozí hodnota je 1. Pokud tento přepínač zahrnete bez zadání hodnoty, nástroj MSBuild použije až počet procesorů v počítači. Další informace naleznete v tématu Vytváření více projektů paralelně. Následující příklad dává nástroji MSBuild pokyn k sestavení pomocí tří procesů MSBuild, které umožňují sestavení tří projektů najednou: msbuild myproject.proj -maxcpucount:3 |
-noAutoResponse-noautorsp |
Don't include any MSBuild.rsp or Directory.Build.rsp files automatically. |
-nodeReuse:{value}-nr:{value} |
Povolte nebo zakažte opakované použití uzlů NÁSTROJE MSBuild. Můžete zadat následující hodnoty: - True. Uzly zůstanou po dokončení sestavení, aby je následné buildy mohly používat (výchozí). - False. Uzly po dokončení sestavení nezůstanou. Uzel odpovídá projektu, který se spouští. Pokud zahrnete přepínač -maxcpucount, může se souběžně spouštět více uzlů. |
-nologo |
Nezobrazovat úvodní banner ani zprávu o autorských právech. |
-preprocess[:{filepath}]
-pp[:{filepath}] |
Vytvořte jeden agregovaný soubor projektu vložením všech souborů, které by se naimportovaly během sestavení, s označenými hranicemi. Pomocí tohoto přepínače můžete snadněji určit, které soubory se importují, odkud se soubory importují a které soubory přispívají k sestavení. Pokud použijete tento přepínač, projekt není sestavený. Pokud zadáte filepath, agregovaný soubor projektu je výstupem souboru. V opačném případě se výstup zobrazí v okně konzoly.Informace o použití elementu Import k vložení souboru projektu do jiného souboru projektu naleznete v tématu Import element (MSBuild) a Postupy: Použití stejného cíle ve více souborech projektu. |
-outputResultsCache[:{cacheFile}]-orc[:{cacheFile}] |
Výstupní soubor mezipaměti, kde NÁSTROJ MSBuild zapisuje obsah jeho výsledků sestavení do mezipaměti na konci sestavení. Pokud je -isolateProjects nastavena na False, nastaví se na True. |
profileEvaluation:{file} |
Profily vyhodnocení nástroje MSBuild a zapíše výsledek do zadaného souboru. Pokud je přípona zadaného souboru .md, výsledek se vygeneruje ve formátu Markdown. V opačném případě se vytvoří soubor oddělený tabulátorem. |
-property:{name}={value}-p:{name}={value} |
Nastavte nebo přepište zadané vlastnosti na úrovni projektu, kde name je název vlastnosti a value je hodnota vlastnosti. Zadejte každou vlastnost samostatně, nebo pomocí středníku nebo čárky oddělte více vlastností, jak ukazuje následující příklad:-property:WarningLevel=2;OutDir=bin\DebugSeznam běžně používaných vlastností projektu najdete v běžných vlastností projektu MSBuild. Úplná sada dostupných vlastností závisí na typu projektu, sadě SDK a importovaných souborech. |
-restore-r |
Spustí Restore cíl před sestavením skutečných cílů. |
-restoreProperty:{name}={value}-rp:{name}={value} |
Nastavte nebo přepište tyto vlastnosti na úrovni projektu pouze během obnovení a nepoužívejte vlastnosti zadané pomocí argumentu -property.
name je název vlastnosti a value je hodnota vlastnosti. Pomocí středníku nebo čárky oddělte více vlastností nebo zadejte každou vlastnost zvlášť. |
-target:{targets}-t:{targets} |
Sestavte zadané cíle v projektu. Zadejte každý cíl samostatně nebo použijte středník nebo čárku k oddělení více cílů, jak ukazuje následující příklad:-target:PrepareResources;CompilePokud pomocí tohoto přepínače zadáte nějaké cíle, spustí se místo cílů v atributu DefaultTargets v souboru projektu. Další informace najdete v tématu Pořadí sestavení cíle a Postupy: Určení cíle, který se má sestavit jako první.Cíl je skupina úkolů. For more information, see Targets. |
-targets[:{file}]-ts[:{file}] |
Zapište seznam dostupných cílů do zadaného souboru (nebo do výstupního zařízení, pokud není zadaný žádný soubor), aniž byste skutečně spouštěli proces sestavení. |
-toolsVersion:{version}-tv:{version} |
Určuje vlastní sadu nástrojů. Sada nástrojů se skládá z úloh, cílů a nástrojů, které se používají k sestavení aplikace. See Toolset (ToolsVersion) and Standard and custom toolset configurations. |
-validate:[{schema}]-val[{schema}] |
Ověřte soubor projektu a v případě úspěšného ověření projekt sestavte. Pokud nezadáte schema, projekt se ověří ve výchozím schématu.Pokud zadáte schema, projekt se ověří podle zadaného schématu.Následující nastavení je příkladem: -validate:MyExtendedBuildSchema.xsd |
-verbosity:{level}-v:{level} |
Určuje množství informací, které se mají zobrazit v protokolu sestavení. Každý protokolovací zařízení zobrazuje události na základě úrovně podrobností, kterou jste pro tento protokolovač nastavili. Můžete zadat následující úrovně podrobností: q[uiet], m[inimal], n[ormal] (výchozí), d[etailed]a diag[nostic].Následující nastavení je příkladem: -verbosity:quiet |
-version-ver |
Zobrazí pouze informace o verzi. Projekt není sestaven. |
@{file} |
Vložte přepínače příkazového řádku z textového souboru. Pokud máte více souborů, zadáte je samostatně. For more information, see Response files. |
-warnAsError[:{code; ...}]-err[:{code; ...}] |
Seznam kódů upozornění, které se mají považovat za chyby K oddělení více kódů upozornění použijte středník nebo čárku. Pokud chcete všechna upozornění považovat za chyby, použijte přepínač bez hodnot. Když se upozornění považuje za chybu, cíl se bude dál spouštět, jako by se jednalo o upozornění, ale celkové sestavení selže. Příklad: -err:MSB4130 |
-warnNotAsError[:{code; ...}]-noerr[:{code; ...}] |
MSBuild 17.0 a novější. Seznam kódů upozornění, které by neměly být povýšeny na chyby. Konkrétně pokud je přepínač warnAsError nastavený tak, aby se upřednostňovala všechna upozornění na chyby, kódy chyb zadané funkcí warnNotAsError nejsou povýšeny. To nemá žádný vliv, pokud není chyba warnAsError nastavená tak, aby upřednostňovala všechna upozornění na chyby. K oddělení více kódů upozornění použijte středník nebo čárku. Příklad: -noerr:MSB4130 |
-warnAsMessage[:{code}; ...}]-noWarn[:{code; ...}] |
Seznam kódů upozornění, které se mají považovat za zprávy s nízkou důležitostí K oddělení více kódů upozornění použijte středník nebo čárku. Příklad: -noWarn:MSB3026 |
Přepínače pro protokolovací nástroje
| Switch | Description |
|---|---|
-binaryLogger[:[LogFile=]{output.binlog}[;ProjectImports=None,Embed,ZipFile]]-bl[:[LogFile=]{output.binlog}[;ProjectImports=None,Embed,ZipFile]] |
Serializuje všechny události sestavení do komprimovaného binárního souboru. By default the file is in the current directory and named msbuild.binlog. Volitelný LogFile parametr přijímá řetězec formuláře {filename}.binlog, kde {filename} obsahuje platné znaky systému souborů, ale také přijímá zástupný symbol {}. Pokud {} je k dispozici, nástroj MSBuild vyplní tuto pozici "jedinečným razítkem" formuláře yyyyMMdd-HHmmss--<current process id>--<6-character random string>. Binární protokol je podrobný popis procesu sestavení, který lze později použít k rekonstrukci textových protokolů a použití jinými analytickými nástroji. Binární protokol je obvykle 10–20x menší než nejpodrobnější protokol na úrovni diagnostiky textu, ale obsahuje další informace.Binární protokolovací nástroj ve výchozím nastavení shromažďuje zdrojový text souborů projektu, včetně všech importovaných projektů a cílových souborů, ke kterým došlo během sestavení. Volitelné ProjectImports parametr řídí toto chování:- ProjectImports=None. Neshromažďujte importy projektu. - ProjectImports=Embed. Vložení importů projektu do souboru protokolu (výchozí) - ProjectImports=ZipFile. Save project files to {output}.projectimports.zip where <output> is the same name as the binary log file name. Výchozí nastavení pro ProjectImports je Vložit. 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. Ostatní protokolovací nástroje obdrží informace obsažené v souboru protokolu, jako by došlo k původnímu sestavení. Další informace o binárním protokolu a jeho využití najdete v přehledu binárního protokolu NÁSTROJE MSBuild. 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} |
Předejte parametry, které zadáte do protokolovacího nástroje konzoly, který zobrazí informace o sestavení v okně konzoly. Můžete zadat následující parametry: - PerformanceSummary. Zobrazí čas strávený v úkolech, cílech a projektech. - Summary. Zobrazení souhrnu chyb a upozornění na konci - NoSummary. Na konci se nezobrazuje souhrn chyb a upozornění. - ErrorsOnly. Zobrazit pouze chyby. - WarningsOnly. Zobrazí se jenom upozornění. - NoItemAndPropertyList. Nezobrazovat seznam položek a vlastností, které by se zobrazily na začátku každého sestavení projektu, pokud je úroveň podrobností nastavená na diagnostic.- ShowCommandLine. Umožňuje zobrazit TaskCommandLineEvent zprávy.- ShowProjectFile. Umožňuje zobrazit cestu k souboru projektu v diagnostických zprávách. Toto nastavení je ve výchozím nastavení zapnuté. - ShowTimestamp. Zobrazí časové razítko jako předponu jakékoli zprávy. - ShowEventId. Zobrazí ID události pro každou spuštěnou událost, dokončenou událost a zprávu. - ForceNoAlign. Nezarovnávejte text na velikost vyrovnávací paměti konzoly. - DisableConsoleColor. Pro všechny zprávy protokolování použijte výchozí barvy konzoly. - DisableMPLogging. Zakažte styl protokolování víceprocesoru výstupu při spuštění v režimu bez multiprocesoru. - EnableMPLogging. Povolte styl protokolování multiprocesoru i při spuštění v režimu bez víceprocesoru. Tento styl protokolování je ve výchozím nastavení zapnutý. - ForceConsoleColor. Barvy konzoly ANSI používejte, i když ji konzola nepodporuje. - Verbosity. Přepište nastavení -verbosity tohoto protokolovacího nástroje.Středník slouží k oddělení více parametrů, jak ukazuje následující příklad: -consoleLoggerParameters:PerformanceSummary;NoSummary -verbosity:minimalVýchozí protokolovací služba konzoly je v normálním stavu a obsahuje Summary. |
-distributedFileLogger-dfl |
Zapíše výstup sestavení každého uzlu MSBuild do vlastního souboru. Počátečním umístěním těchto souborů je aktuální adresář. By default, the files are named MSBuild{NodeId}.log. Přepínač -fileLoggerParameters můžete použít k určení umístění souborů a dalších parametrů pro fileLogger.Pokud soubor protokolu pojmenujete pomocí přepínače -fileLoggerParameters, distribuovaný protokolovací nástroj použije tento název jako šablonu a při vytváření souboru protokolu pro každý uzel připojí ID uzlu. |
-distributedLogger:{central logger},{forwarding logger}, ...-dl:{central logger},{forwarding logger, ...} |
Protokolování událostí z nástroje MSBuild a připojení jiné instance protokolovacího nástroje ke každému uzlu Chcete-li zadat více protokolovacích zařízení, zadejte každý protokolovací počítač samostatně. Syntaxe protokolovacího nástroje slouží k určení protokolovacího nástroje, s výjimkou toho, že zadáte a další třídu pro předávací protokolovací nástroj. Syntaxi protokolovacího nástroje najdete v přepínači -logger.Následující příklady ukazují, jak tento přepínač použít: -dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral-dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll |
-fileLogger[{number}]-fl[{number}] |
Zapište výstup sestavení do jednoho souboru v aktuálním adresáři. If you don't specify number, the output file is named msbuild.log. Pokud zadáte number, výstupní soubor má název msbuild<n>.log, kde <n> je number.
Number může být číslice od 1 do 9.Přepínač -fileLoggerParameters můžete použít k určení umístění souboru a dalších parametrů pro fileLogger. |
-fileLoggerParameters[{number}]:parameters-flp[{number}]: {parameters} |
Určuje všechny další parametry pro protokolovací nástroj souborů a distribuovaný protokolovací nástroj souborů. Přítomnost tohoto přepínače znamená, že je k dispozici odpovídající přepínač -filelogger[number].
Number může být číslice od 1 do 9.Můžete použít všechny parametry uvedené pro -consoleloggerparameters. Můžete také použít jeden nebo více následujících parametrů:- LogFile. Cesta k souboru protokolu, do kterého se zapisuje protokol sestavení. Distribuovaný protokolovací program předpony této cesty k názvům souborů protokolu. - Append. Určuje, zda je protokol sestavení připojen k souboru protokolu nebo jej přepíše. Když nastavíte přepínač, protokol sestavení se připojí k souboru protokolu. Pokud přepínač není k dispozici, obsah existujícího souboru protokolu se přepíše. Příklad: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;appendPokud zahrnete explicitní true nebo false nastavení, protokol se připojí bez ohledu na nastavení. Pokud přepínač připojení nezadáte, protokol se přepíše.V tomto případě se soubor přepíše: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.logV tomto případě se soubor připojí: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;append=trueV tomto případě se soubor připojí: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;append=false- Encoding. Určuje kódování souboru (například UTF-8, Unicode nebo ASCII). Následující příklad vygeneruje samostatné soubory protokolu pro upozornění a chyby: -flp1:logfile=errors.txt;errorsonly -flp2:logfile=warnings.txt;warningsonlyNásledující příklady ukazují další možnosti: -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 |
Určuje protokolovací nástroj, který se má použít k protokolování událostí z nástroje MSBuild. Chcete-li zadat více protokolovacích zařízení, zadejte každý protokolovací počítač samostatně. Pro loggerpoužijte následující syntaxi: [LoggerClass,]LoggerAssembly[;LoggerParameters]Pro LoggerClasspoužijte následující syntaxi: [PartialOrFullNamespace.]LoggerClassNamePokud sestavení obsahuje přesně jeden protokolovací objekt, nemusíte zadávat třídu loggeru. Pro LoggerAssemblypoužijte následující syntaxi: AssemblyName[,StrongName] \| AssemblyFileParametry protokolovacího nástroje jsou volitelné a předávají se do protokolovacího nástroje přesně tak, jak je zadáte. Následující příklady používají přepínač -logger.-logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral-logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML |
-noConsoleLogger-noconlog |
Zakažte výchozí protokolovací nástroje konzoly a nezaznamujte události do konzoly. |
-terminalLogger[:auto,on,off]-tl[:auto,on,off] |
Enable or disable the terminal logger. Protokolovací modul terminálu poskytuje vylepšený výstup sestavení v konzole v reálném čase, uspořádaný logicky podle projektu a navržený tak, aby zvýrazňoval informace umožňující akce. Zadejte auto (nebo použijte možnost bez argumentů) k použití protokolovacího nástroje terminálu pouze v případě, že standardní výstup není přesměrován. Neanalyzovat výstup nebo jinak spoléhat na zbývající změny v budoucích verzích. Tato možnost je dostupná ve verzi MSBuild 17.8 a novější. |
Example
The following example builds the rebuild target of the MyProject.proj project.
MSBuild.exe MyProject.proj -t:rebuild