Sdílet prostřednictvím


Novinky v nástroji MSBuild 17

Tento článek popisuje významné aktualizace nástroje MSBuild 17.0. Podrobné poznámky k vydání pro jednotlivé verze najdete v části vydané verze nástroje MSBuild.

MSBuild 17.0 byl vydán s Visual Studio 2022 a .NET 6.0.

Změněná cesta

Nástroj MSBuild je nainstalován ve složce \Current pod každou verzí sady Visual Studio a spustitelné soubory jsou v podsložce \Bin. Například cesta k MSBuild.exe nainstalované v sadě Visual Studio 2022 Community je C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe. Můžete také použít následující modul PowerShellu k vyhledání MSBuild: vssetup.powershell.

Změněné vlastnosti

Následující vlastnosti nástroje MSBuild byly aktualizovány z důvodu nového čísla verze.

  • MSBuildToolsVersion pro tuto verzi nástrojů zůstává ve stavu "Aktuální". Verze sestavení je stejná jako ve verzích Visual Studio 2017 a Visual Studio 2019, což je 15.1.0.0.

  • VisualStudioVersion pro tuto verzi nástrojů je 17.0.

64bitová verze

MSBuild.exe dříve měly 32bitovou i 64bitovou verzi, ale teď je výchozí 64bitová verze. Visual Studio 2022 používá 64bitovou verzi nástroje MSBuild pro všechna sestavení. 32bitová verze je stále dostupná, ale doporučujeme přepnout všechna sestavení na 64bitovou verzi.

U vlastníků úloh to znamená, že když nástroj MSBuild načte úlohu, pokusí se ji načíst v 64bitovém procesu. Doporučujeme zvážit aktualizaci úloh tak, aby běžely v 64bitovém procesu, ale kvůli kompatibilitě můžete nástroji MSBuild sdělit, že se vaše úloha spouští pouze jako 32bitová verze v jejich UsingTask.

Vylepšení výkonu

MSBuild je rychlejší! Cílem této verze bylo zlepšit výkon pro mnoho běžných scénářů. MSBuild 17.0 může vytvářet větší projekty, rychleji.

Verze .NET

MSBuild (a Visual Studio) teď cílí na rozhraní .NET Framework 4.7.2 a .NET 6.0. Pokud chcete používat nové funkce rozhraní MSBuild API, musí se vaše sestavení také upgradovat, ale stávající kód bude i nadále fungovat.

Záznamy

Binární logy jsou menší a obsahují více informací.

V MSBuild 17.8 a novějších verzích vyzkoušejte nový Terminálový logger (-terminalLogger nebo -tl možnost na příkazovém řádku) pro vylepšený výstup konzole.

Zásadní změny

  • Metodu GetType() už nelze volat ve funkcích vlastností.
  • MSBuild pro .NET cílí na .NET 6.

Jiné změny chování

  • MSBuildCopyContentTransitively je teď ve výchozím nastavení zapnutá a zajišťuje konzistenci ve výstupních složkách v přírůstkových buildech.

Další změny v této verzi najdete v podrobných poznámkách k verzi; o změnách ve verzích nástrojů MSBuild, kterých se můžete zříci, viz vlny změn.

  • NÁSTROJE MSBuild