Nástroj MSBuild už nepodporuje volání GetType()
MSBuild 17 již nepodporuje volání GetType()
metody instance v rámci funkcí vlastností. Tato metoda umožňovala nepředvídatelné spuštění kódu během vyhodnocení a mohla by způsobit zablokování sady Visual Studio.
Zavedená verze
.NET SDK 6.0.100-rc1
Předchozí chování
GetType()
volání ve funkcích vlastností MSBuild by se spustila a někdy způsobila nepředvídatelné chování v sadě Visual Studio.
Nové chování
Počínaje sadou .NET 6 SDK, pokud voláte GetType()
funkci vlastnosti MSBuild, při vyhodnocování projektu se zobrazí následující chyba v době kompilace:
Funkce GetType typu System.String není k dispozici pro spuštění jako funkce vlastnosti MSBuild.
Kategorie změny
Tato změna má vliv na kompatibilitu zdroje.
Důvod změny
Tato funkce nebyla zdokumentována nebo běžně používána. Způsobil problémy s výkonem a spolehlivostí při načítání projektů, zejména v sadě Visual Studio.
Jediné známé běžné použití tohoto modelu bylo v systému CBT, který byl zastaralý.
Doporučená akce
Nahraďte všechna volání GetType()
alternativní logikou MSBuild.
Ovlivněná rozhraní API
–
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro