Aracılığıyla paylaş


MSBuild artık GetType() çağrılma desteğine sahip değil

MSBuild 17 artık özellik işlevleri içinde örnek yöntemini çağırmayı GetType() desteklemez. Bu yöntem, değerlendirme sırasında öngörülemeyen kod yürütülmesine izin verdi ve Visual Studio'nun kilitlenmesine neden olabilir.

Sürüm kullanıma sunulmuştur

.NET SDK 6.0.100-rc1

Önceki davranış

GetType() MSBuild özellik işlevlerindeki çağrılar yürütülür ve bazen Visual Studio'da öngörülemeyen davranışlara neden olur.

Yeni davranış

.NET 6 SDK'sı ile başlayarak, bir MSBuild özellik işlevini çağırırsanız GetType() , proje değerlendirmesi sırasında aşağıdaki derleme zamanı hatasını görürsünüz:

"System.String" türündeki "GetType" işlevi, MSBuild özellik işlevi olarak yürütülemedi.

Kategoriyi değiştir

Bu değişiklik kaynak uyumluluğunu etkiler.

Değişiklik nedeni

Bu işlev belgelenmedi veya yaygın olarak kullanılmadı. Özellikle Visual Studio'da proje yüklemesinde performans ve güvenilirlik sorunlarına neden oldu.

Bu düzenin bilinen tek yaygın kullanımı, kullanım dışı bırakılan CBT sistemindeydi.

için yapılan çağrıları GetType() alternatif MSBuild mantığıyla değiştirin.

Etkilenen API’ler

Yok