Sdílet prostřednictvím


Zpracování uživatelských kulturních prostředků nástroje MSBuild

Počínaje verzí MSBuild 17.14 již ve výchozím nastavení není povoleno zpracování vlastních kulturních zdrojů. Uživatelé se musí explicitně vyjádřit výslovný souhlas s povolením této funkce. Tato změna zabraňuje nezamýšlenému chování způsobenému automatickým zjišťováním adresářů podobných kódům kultur.

Verze byla představena

MSBuild 17.14

Poznámka:

Vzhledem k tomu, že tato změna ovlivňuje chování nástroje MSBuild, ovlivní dvě podporované verze .NET: .NET 10 Preview 1 a .NET 9.0.2. Podpora pro průhlednou změnu vlastní jazykové verze byla zavedena v .NET SDK 9.0.200 a změna, která z této funkce činí volitelnou, je v .NET SDK 9.0.300.

Předchozí chování

Nástroje MSBuild dříve zpracovávaly adresáře s názvy, které se podobají kódům jazykové verze (například en-US, fr-FR) jako adresáře prostředků specifických pro jazykovou verzi ve výchozím nastavení. Toto chování někdy zahrnovalo nesouvisející adresáře, jako jsou adresáře s názvy založenými na hodnotách hash nebo technickými názvy, což vede k nežádoucím sestavám prostředků v procesu sestavení.

Nové chování

Ve výchozím nastavení je zpracování a správa vlastního jazykového nastavení zakázána. Chcete-li tuto funkci povolit, nastavte vlastnost EnableCustomCulture projektu na truehodnotu .

Chcete-li vyloučit adresáře z vlastního zpracování jazykové verze, použijte CustomCultureExcludeDirectories vlastnost k určení seznamu názvů adresářů oddělených středníkem.

Typ zásadní změny

Tato změna je změna chování.

Důvod změny

Automatická detekce adresářů prostředků specifických pro jazykovou verzi způsobila nepředvídatelné chování sestavení, když se názvy adresářů shodně shodovaly s kódy jazykové verze. Vyžadování explicitního souhlasu zajišťuje předvídatelnější sestavení a poskytuje uživatelům větší kontrolu nad zpracováním prostředků.

Pokud váš proces kompilace závisí na zpracování zdrojů vlastního kulturního nastavení:

  1. Nastavte vlastnost projektu EnableCustomCulture na true.
  2. Volitelně můžete použít vlastnost CustomCultureExcludeDirectories k vyloučení konkrétních adresářů z toho, aby byly považovány za kulturní zdroje.

Ovlivněná rozhraní API

Žádné.