Sdílet prostřednictvím


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ý.

Nahraďte všechna volání GetType() alternativní logikou MSBuild.

Ovlivněná rozhraní API