MSBuild@1 – úloha MSBuild v1
Tuto úlohu použijte k sestavení pomocí nástroje MSBuild.
Syntax
# MSBuild v1
# Build with MSBuild.
- task: MSBuild@1
inputs:
solution: '**/*.sln' # string. Required. Project. Default: **/*.sln.
#msbuildLocationMethod: 'version' # 'version' | 'location'. MSBuild. Default: version.
#msbuildVersion: 'latest' # 'latest' | '17.0' | '16.0' | '15.0' | '14.0' | '12.0' | '4.0'. Optional. Use when msbuildLocationMethod = version. MSBuild Version. Default: latest.
#msbuildArchitecture: 'x86' # 'x86' | 'x64'. Optional. Use when msbuildLocationMethod = version. MSBuild Architecture. Default: x86.
#msbuildLocation: # string. Optional. Use when msbuildLocationMethod = location. Path to MSBuild.
#platform: # string. Platform.
#configuration: # string. Configuration.
#msbuildArguments: # string. MSBuild Arguments.
#clean: false # boolean. Clean. Default: false.
# Advanced
#maximumCpuCount: false # boolean. Build in Parallel. Default: false.
#restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
#logProjectEvents: false # boolean. Record Project Details. Default: false.
#createLogFile: false # boolean. Create Log File. Default: false.
#logFileVerbosity: 'normal' # 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic'. Optional. Use when createLogFile = true. Log File Verbosity. Default: normal.
# MSBuild v1
# Build with MSBuild.
- task: MSBuild@1
inputs:
solution: '**/*.sln' # string. Required. Project. Default: **/*.sln.
#msbuildLocationMethod: 'version' # 'version' | 'location'. MSBuild. Default: version.
#msbuildVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | '12.0' | '4.0'. Optional. Use when msbuildLocationMethod = version. MSBuild Version. Default: latest.
#msbuildArchitecture: 'x86' # 'x86' | 'x64'. Optional. Use when msbuildLocationMethod = version. MSBuild Architecture. Default: x86.
#msbuildLocation: # string. Optional. Use when msbuildLocationMethod = location. Path to MSBuild.
#platform: # string. Platform.
#configuration: # string. Configuration.
#msbuildArguments: # string. MSBuild Arguments.
#clean: false # boolean. Clean. Default: false.
# Advanced
#maximumCpuCount: false # boolean. Build in Parallel. Default: false.
#restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
#logProjectEvents: false # boolean. Record Project Details. Default: false.
#createLogFile: false # boolean. Create Log File. Default: false.
#logFileVerbosity: 'normal' # 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic'. Optional. Use when createLogFile = true. Log File Verbosity. Default: normal.
# MSBuild v1
# Build with MSBuild.
- task: MSBuild@1
inputs:
solution: '**/*.sln' # string. Required. Project. Default: **/*.sln.
#msbuildLocationMethod: 'version' # 'version' | 'location'. MSBuild. Default: version.
#msbuildVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | '12.0' | '4.0'. Optional. Use when msbuildLocationMethod = version. MSBuild Version. Default: latest.
#msbuildArchitecture: 'x86' # 'x86' | 'x64'. Optional. Use when msbuildLocationMethod = version. MSBuild Architecture. Default: x86.
#msbuildLocation: # string. Optional. Use when msbuildLocationMethod = location. Path to MSBuild.
#platform: # string. Platform.
#configuration: # string. Configuration.
#msbuildArguments: # string. MSBuild Arguments.
#clean: false # boolean. Clean. Default: false.
# Advanced
#maximumCpuCount: false # boolean. Build in Parallel. Default: false.
#restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
#logProjectEvents: false # boolean. Record Project Details. Default: false.
#createLogFile: false # boolean. Create Log File. Default: false.
Vstupy
solution
- Projektu
string
. Povinná hodnota. Výchozí hodnota: **/*.sln
.
Pokud chcete vytvořit více projektů, zadejte kritéria hledání. Můžete použít zástupný znak s jednou složkou (*) a rekurzivní zástupné cardy (**). **.*proj
Například vyhledá všechny soubory projektu MSBuild (.*proj
) ve všech podadresářích.
Ujistěte se, že zadané projekty jsou staženy tímto kanálem buildu. Na kartě Úložiště:
- Pokud používáte TFVC, ujistěte se, že je projekt podřízený jednomu z mapování na kartě Úložiště.
- Pokud používáte Git, ujistěte se, že se projekt nachází ve vašem úložišti Git ve větvi, kterou vytváříte.
Tip
Pokud vytváříte řešení, doporučujeme místo úlohy MSBuild použít úlohu sestavení sady Visual Studio .
msbuildLocationMethod
- Msbuild
string
. Povolené hodnoty: version
, location
(Zadejte umístění). Výchozí hodnota: version
.
msbuildVersion
- Verze nástroje MSBuild
string
. Nepovinný parametr. Použijte, když msbuildLocationMethod = version
. Povolené hodnoty: latest
, 17.0
(MSBuild 17.0), 16.0
(MSBuild 16.0), 15.0
(MSBuild 15.0), 14.0
(MSBuild 14.0), 12.0
(MSBuild 12.0) 4.0
(MSBuild 4.0). Výchozí hodnota: latest
.
Pokud upřednostňovanou verzi nelze najít, použije se místo toho nejnovější nalezená verze. V agentu xbuild
macOS se používá (Mono), pokud je verze nižší než 15.0
.
msbuildVersion
- Verze nástroje MSBuild
string
. Nepovinný parametr. Použijte, když msbuildLocationMethod = version
. Povolené hodnoty: latest
, 16.0
(MSBuild 16.0), 15.0
(MSBuild 15.0), 14.0
(MSBuild 14.0), 12.0
(MSBuild 12.0) 4.0
(MSBuild 4.0). Výchozí hodnota: latest
.
Pokud upřednostňovanou verzi nelze najít, použije se místo toho nejnovější nalezená verze. V agentu xbuild
macOS se používá (Mono), pokud je verze nižší než 15.0
.
msbuildArchitecture
- Architektura NÁSTROJE MSBuild
string
. Nepovinný parametr. Použijte, když msbuildLocationMethod = version
. Povolené hodnoty: x86
(MSBuild x86), x64
(MSBuild x64). Výchozí hodnota: x86
.
Poskytuje architekturu MSBuild (x86, x64) ke spuštění.
msbuildLocation
- Cesta k nástroji MSBuild
string
. Nepovinný parametr. Použijte, když msbuildLocationMethod = location
.
Poskytne cestu k nástroji MSBuild.
platform
- Platforma
string
.
Tip
- Pokud cílíte na soubor projektu MSBuild (.*proj) místo řešení, zadejte
AnyCPU
(bez prázdných znaků). - Deklarujte proměnnou sestavení, například
BuildPlatform
na kartě Proměnné (vyberteAllow
v čase fronty) a odkazujte na ni jako$(BuildPlatform)
. Tímto způsobem můžete upravit platformu při vytváření fronty sestavení a povolit vytváření více konfigurací.
configuration
- Konfigurace
string
.
Tip
Deklarujte proměnnou sestavení, například BuildConfiguration
na kartě Proměnné (vyberte Allow
v čase fronty) a odkazujte na ni jako $(BuildConfiguration)
. Tímto způsobem můžete upravit platformu při vytváření fronty sestavení a povolit vytváření více konfigurací.
msbuildArguments
- Argumenty nástroje MSBuild
string
.
Určuje další argumenty předané nástroji MSBuild (ve Windows) a xbuild (v macOS).
clean
- Čisté
boolean
. Výchozí hodnota: false
.
Nastavte na hodnotu False
, pokud chcete, aby se toto sestavení vytvořilo jako přírůstkové. Toto nastavení může zkrátit dobu sestavení, zejména pokud je váš základ kódu velký. Tato možnost nemá žádný praktický účinek, pokud také nenastavíte Clean
úložiště na False
hodnotu .
Pokud chcete znovu sestavit veškerý kód v projektech kódu, nastavte na True
hodnotu . To je ekvivalent k argumentu MSBuild /target:clean
.
Další informace najdete v tématu Možnosti úložiště.
maximumCpuCount
- Paralelní sestavení
boolean
. Výchozí hodnota: false
.
Pokud je cílová konfigurace NÁSTROJE MSBuild kompatibilní s paralelním sestavováním, můžete tento vstup zkontrolovat a předat /m
přepínač do nástroje MSBuild (pouze Windows). Pokud vaše cílová konfigurace není kompatibilní s paralelním sestavováním, může kontrola této možnosti způsobit, že sestavení způsobí file-in-use
chyby nebo občasná nebo nekonzistentní selhání sestavení.
restoreNugetPackages
- Obnovení balíčků NuGet
boolean
. Výchozí hodnota: false
.
Tato možnost je zastaralá. Pokud chcete obnovit balíčky NuGet, přidejte před sestavením úlohu NuGet .
logProjectEvents
- Záznam podrobností projektu
boolean
. Výchozí hodnota: false
.
Volitelně zaznamenává podrobnosti časové osy pro každý projekt (jenom Windows).
createLogFile
- Vytvoření souboru protokolu
boolean
. Výchozí hodnota: false
.
Volitelně vytvoří soubor protokolu (jenom Windows).
logFileVerbosity
- Podrobnosti o souboru protokolu
string
. Nepovinný parametr. Použijte, když createLogFile = true
. Povolené hodnoty: quiet
, minimal
, normal
, detailed
, . diagnostic
Výchozí hodnota: normal
.
Určuje podrobnosti o souboru protokolu.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacího prvku a běžné vlastnosti úlohy.
Výstupní proměnné
Žádné
Poznámky
Mám použít úlohu sestavení sady Visual Studio nebo úlohu MSBuild?
Pokud vytváříte řešení, ve většině případů byste měli použít úlohu Sestavení sady Visual Studio. Tento úkol automaticky:
/p:VisualStudioVersion
Nastaví vlastnost za vás. To vynutí nástroj MSBuild použít konkrétní sadu cílů, které zvyšují pravděpodobnost úspěšného sestavení.- Určuje argument verze nástroje MSBuild.
V některých případech může být potřeba použít úlohu MSBuild
. Měli byste ho například použít, pokud kromě řešení vytváříte projekty kódu.
Kde se dozvím další informace o nástroji MSBuild?
Referenční dokumentace nástroje MSBuild
Referenční dokumentace pro použití nástroje MSBuild v příkazovém řádku
Návody vytvářet více konfigurací pro více platforem?
Na kartě Proměnné se ujistěte, že máte definované proměnné pro vaše konfigurace a platformy. Pokud chcete zadat více hodnot, oddělte je čárkami. Příklad:
- Pro aplikaci .NET můžete zadat
BuildConfiguration
hodnoty ladění a verze a můžete zadatBuildPlatform
libovolnou hodnotu procesoru. - Pro aplikaci C++ můžete zadat
BuildConfiguration
hodnoty ladění a verze a můžete zadatBuildPlatform
libovolnými hodnotami x86 a x64.
- Pro aplikaci .NET můžete zadat
Na kartě Možnosti vyberte
MultiConfiguration
a zadejteMultipliers
, oddělené čárkami. Například:BuildConfiguration, BuildPlatform
VyberteParallel
, pokud chcete distribuovat úlohy (jednu pro každou kombinaci hodnot) do více agentů paralelně, pokud jsou k dispozici.Na kartě Sestavení vyberte tento krok a zadejte
Platform
argumenty aConfiguration
. Příklad:- Platforma:
$(BuildPlatform)
- Konfigurace:
$(BuildConfiguration)
- Platforma:
Můžu vytvářet soubory TFSBuild.proj?
Nemůžete vytvářet TFSBuild.proj
soubory. Tyto typy souborů jsou generovány pomocí TFS 2005
a TFS 2008
. Tyto soubory obsahují úlohy a cíle se podporují pouze pomocí sestavení XAML.
Poradce při potížích
Tato část obsahuje tipy pro řešení běžných problémů, se kterými se může uživatel při používání MSBuild
úlohy setkat.
Sestavení selhalo s následující chybou: Při spuštění nástroje MSBuild došlo k internímu selhání.
Možné příčiny
- Změna verze nástroje MSBuild.
- Problémy s rozšířením třetí strany
- Nové aktualizace sady Visual Studio, které můžou způsobit chybějící sestavení v agentu sestavení.
- Přesunuli nebo odstranili některé potřebné balíčky NuGet.
Návrhy řešení potíží
- Spuštění kanálu s diagnostikou pro načtení podrobných protokolů
- Zkuste chybu reprodukovat místně.
- Co dalšího mohu udělat?
Spuštění kanálu s diagnostikou pro načtení podrobných protokolů
Jednou z dostupných možností diagnostiky problému je podívat se na vygenerované protokoly. Protokoly kanálu můžete zobrazit tak, že v souhrnu spuštění kanálu vyberete příslušnou úlohu a úlohu.
Získání protokolů spuštění kanálu : Získání protokolů pro diagnostiku problémů
Můžete také nastavit a stáhnout přizpůsobený podrobný protokol, který vám pomůže s řešením potíží:
Kromě diagnostických protokolů kanálu můžete zkontrolovat také tyto další typy protokolů, které obsahují další informace, které vám pomůžou ladit a vyřešit problém:
- Diagnostické protokoly pracovních procesů
- Diagnostické protokoly agenta
- Další protokoly (prostředí a možnosti)
Zkuste chybu reprodukovat místně.
Pokud používáte hostovaného agenta sestavení, můžete se pokusit chybu reprodukovat místně. To vám pomůže zúžit, jestli je selhání výsledkem agenta sestavení nebo úlohy sestavení.
Spusťte stejný MSBuild
příkaz na místním počítači se stejnými argumenty. Referenční informace najdete v příkazu MSBuild .
Tip
Pokud můžete problém reprodukovat na místním počítači, dalším krokem je prozkoumání problému nástroje MSBuild .
Přečtěte si další informace o agentech hostovaných Microsoftem.
Nastavení vlastního agenta v místním prostředí a spuštění úloh sestavení:
- Agenti v místním prostředí – Windows
- Agenti v místním prostředí – Linux
- Agenti v místním prostředí – macOS
Co dalšího mohu udělat?
Některé chyby nástroje MSBuild jsou způsobeny změnou v sadě Visual Studio, takže můžete vyhledat visual studio Developer Community a zjistit, jestli byl tento problém nahlášen. Uvítáme také vaše dotazy, návrhy a zpětnou vazbu.
Požadavky
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasické sestavení |
Spustí se | Agent, DeploymentGroup |
Požadavky | Agenti v místním prostředí musí mít funkce , které odpovídají následujícím požadavkům , aby bylo možné spouštět úlohy, které používají tuto úlohu: msbuild |
Možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
Omezení příkazů | Všechny |
Nastavitelné proměnné | Všechny |
Verze agenta | 1.95.0 nebo vyšší |
Kategorie úloh | Sestavení |