Varsayılan olmayan tanılama kimlikleri ile API kullanımdan kaldırılmaları

Bazı API'ler .NET 5'te başlayarak kullanım dışı olarak işaretlendi. Bu hataya neden olan değişiklik, özel tanılama kimliğiyle kullanım dışı olarak işaretlenmiş API'lere özgüdür. C# derleyicisi için CS0618 olan varsayılan eski tanılama kimliğinin gizlenmesi, bu API'ler kullanıldığında derleyicinin oluşturduğu uyarıları gizlemez.

Açıklama değiştirildi

Önceki .NET sürümlerinde, bu API'ler herhangi bir derleme uyarısı olmadan kullanılabilir. .NET 5 ve sonraki sürümlerde, bu API'lerin kullanılması özel tanılama kimliğine sahip bir derleme zamanı uyarısı veya hatası oluşturur. Özel tanılama kimliklerinin kullanılması, eskime uyarılarını tüm eskime uyarılarını gizleme yerine ayrı ayrı gizlemenize olanak tanır.

Aşağıdaki tabloda, özel tanılama kimlikleri ve engellenen API'ler için bunlara karşılık gelen uyarı iletileri listelenmektedir.

Tanılama Kimliği Açıklama Önem derecesi
SYSLIB0001 UTF-7 kodlaması güvenli değildir ve kullanılmamalıdır. Bunun yerine UTF-8 kullanmayı düşünün. Uyarı
SYSLIB0002 PrincipalPermissionAttribute çalışma zamanı tarafından kabul edilmez ve kullanılmamalıdır. Hata
SYSLIB0003 Kod erişim güvenliği (CAS) çalışma zamanı tarafından desteklenmez veya kabul edilmez. Uyarı
SYSLIB0004 Kısıtlanmış yürütme bölgesi (CER) özelliği desteklenmez. Uyarı
SYSLIB0005 Genel derleme önbelleği (GAC) desteklenmez. Uyarı
SYSLIB0006 Thread.Abort() desteklenmez ve oluşturur PlatformNotSupportedException. Uyarı
SYSLIB0007 Bu şifreleme algoritmasının varsayılan uygulaması desteklenmez. Uyarı
SYSLIB0008 CreatePdbGenerator() API desteklenmez ve oluştururPlatformNotSupportedException. Uyarı
SYSLIB0009 AuthenticationManager.Authenticate ve AuthenticationManager.PreAuthenticate yöntemleri desteklenmez ve oluştururPlatformNotSupportedException. Uyarı
SYSLIB0010 Bazı uzaktan iletişim API'leri desteklenmez ve oluşturur PlatformNotSupportedException. Uyarı
SYSLIB0011 BinaryFormatter serileştirme eskidir ve kullanılmamalıdır. Uyarı
SYSLIB0012 Assembly.CodeBase ve Assembly.EscapedCodeBase yalnızca .NET Framework uyumluluğu için dahil edilir. Bunun yerine Assembly.Location kullanın. Uyarı

Sürüm kullanıma sunulmuştur

.NET 5.0

  • Uyarıda sağlanan URL bağlantısını kullanarak her tanılama kimliği için sağlanan yönergeleri izleyin.

  • Bu obsoletion'lar için uyarılar veya hatalar, eski türler veya üyeler için standart tanılama kimliği kullanılarak gizlenemez; bunun yerine özel SYSLIBxxxx tanılama kimliği değerini kullanın.

Etkilenen API’ler

SYSLIB0001

SYSLIB0002

SYSLIB0003

Ad alanında sınıflar System.Security.Permissions :

sınıfından CodeAccessSecurityAttributetüretilen sınıflar:

Arabirim:

uygulayan IStackWalksınıflar:

uygulayan IPermissionsınıflar:

sınıfından CodeAccessPermissiontüretilen sınıflar:

sınıfından ResourcePermissionBasetüretilen sınıflar:

Ad alanında numaralandırmalar System.Security.Permissions :

Kod erişimi güvenlik türlerine bağlı sınıflar ve üyeler:

SYSLIB0004

SYSLIB0005

SYSLIB0006

SYSLIB0007

SYSLIB0008

SYSLIB0009

SYSLIB0010

SYSLIB0011

SYSLIB0012

Ayrıca bkz.