Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Herhangi bir derleme genişletilebilirliği (temel olarak özel görevler) tarafından herhangi bir alt sınıfının BuildEventArgs özel türetilmiş derleme olayları kullanım dışı bırakıldı.
Önceki davranış
Daha önce herhangi bir BuildEventArgs alt sınıfından türetebilir ve bu türleri özelleştirilmiş işler ve diğer derleme genişletme noktalarında özgürce kullanabilirsiniz.
Yeni davranış
.NET 8'den BuildEventArgs başlayarak, kodunuz türetilmiş herhangi bir tür kullanıyorsa ve MSBuild'in .NET 8 sürümünü (yani komut satırından) kullanarak derleme yaparsanız bir derleme hatası verilir:
'MyCustomBuildEventArgs' özel olay türünün seri hale getirilmesi sırasında güvenli olmayan BinaryFormatter kullanımı. Bu işlem yakında kullanım dışı bırakılacaktır. Lütfen bunun yerine Extended*EventArgs kullanın. Daha fazla bilgi: https://aka.ms/msbuild/eventargs.
.NET 10'da hata iletisi şu şekilde değiştirildi:
'MyCustomBuildEventArgs' özel olay türü, tüm özel olay türleri kullanım dışı bırakıldığından desteklenmez. Lütfen bunun yerine Extended*EventArgs kullanın. Daha fazla bilgi: https://aka.ms/msbuild/eventargs.
Visual Studio sürüm 17.10'dan başlayarak, aynı davranış Visual Studio'daki derlemeler için de geçerlidir.
Sürüm kullanıma sunulmuştur
.NET 8 RC 1
Değişiklik türü
Bu değişiklik davranışsal bir değişikliktir.
Değişiklik nedeni
BinaryFormatter .NET 8 ve sonraki sürümlerde serileştirme eskidir. BinaryFormatter kullanımı güvensiz kabul edilir ve çalışma zamanında bir istisna fırlatır. MSBuild özel türetilmiş derleme olayları kullandığından BinaryFormatter, derlemenizde bu olayları kullandıysanız derlemeniz kilitlenebilir. Yeni derleme hatası, daha nazik bir hatayla sonuçlanır.
Önerilen eylem
Özel türetilmiş derleme olayınız yerine genişletilebilirlik için aşağıdaki yeni kullanıma sunulan yerleşik olaylardan birini kullanın:
- ExtendedCustomBuildEventArgs
- ExtendedBuildErrorEventArgs
- ExtendedBuildMessageEventArgs
- ExtendedBuildWarningEventArgs
Alternatif olarak, ortam değişkenini MSBUILDCUSTOMBUILDEVENTWARNING dışında bir şeye 1açıkça ayarlayarak denetimi geçici olarak devre dışı bırakabilirsiniz.