Obsolações de API com IDs de diagnóstico não padrão
Algumas APIs foram marcadas como obsoletas, começando no .NET 5. Essa alteração de quebra é específica para APIs que foram marcadas como obsoletas com uma ID de diagnóstico personalizada. Suprimir a ID de diagnóstico de obsolescência padrão, que é CS0618 para o compilador C#, não suprime os avisos que o compilador gera quando essas APIs são usadas.
Alterar a descrição
Em versões anteriores do .NET, essas APIs podem ser usadas sem qualquer aviso de compilação. No .NET 5 e versões posteriores, o uso dessas APIs produz um aviso ou erro em tempo de compilação com uma ID de diagnóstico personalizada. O uso de IDs de diagnóstico personalizados permite suprimir os avisos de obsolescência individualmente, em vez de suprimir todos os avisos de obsolescência.
A tabela a seguir lista as IDs de diagnóstico personalizadas e suas mensagens de aviso correspondentes para APIs obsoletas.
ID de diagnóstico | Description | Gravidade |
---|---|---|
SYSLIB0001 | A codificação UTF-7 é insegura e não deve ser usada. Considere usar UTF-8 em vez disso. | Aviso |
SYSLIB0002 | PrincipalPermissionAttribute não é honrado pelo tempo de execução e não deve ser usado. | Erro |
SYSLIB0003 | A segurança de acesso ao código (CAS) não é suportada ou respeitada pelo tempo de execução. | Aviso |
SYSLIB0004 | O recurso de região de execução restrita (CER) não é suportado. | Aviso |
SYSLIB0005 | O cache de assembly global (GAC) não é suportado. | Aviso |
SYSLIB0006 | Thread.Abort() não é suportado PlatformNotSupportedExceptione lança . | Aviso |
SYSLIB0007 | A implementação padrão deste algoritmo de criptografia não é suportada. | Aviso |
SYSLIB0008 | A CreatePdbGenerator() API não é suportada PlatformNotSupportedExceptione lança . | Aviso |
SYSLIB0009 | Os AuthenticationManager.Authenticate métodos e AuthenticationManager.PreAuthenticate não são suportados e lançam PlatformNotSupportedException. | Aviso |
SYSLIB0010 | Algumas APIs de comunicação remota não são suportadas e lançam PlatformNotSupportedException. | Aviso |
SYSLIB0011 | BinaryFormatter A serialização é obsoleta e não deve ser usada. | Aviso |
SYSLIB0012 | Assembly.CodeBase e Assembly.EscapedCodeBase estão incluídos apenas para compatibilidade com o .NET Framework. Utilize Assembly.Location em substituição. | Aviso |
Versão introduzida
.NET 5.0
Ação recomendada
Siga as orientações específicas fornecidas para cada ID de diagnóstico usando o link de URL fornecido no aviso.
Avisos ou erros para essas obsolescências não podem ser suprimidos usando o ID de diagnóstico padrão para tipos ou membros obsoletos; em vez disso, use o valor de ID de diagnóstico personalizado
SYSLIBxxxx
.
APIs afetadas
SYSLIB0001
SYSLIB0002
SYSLIB0003
Classes no System.Security.Permissions
namespace:
- System.Security.Permissions.CodeAccessSecurityAttribute
- System.Security.Permissions.DataProtectionPermission
- System.Security.Permissions.DataProtectionPermissionAttribute
- System.Security.Permissions.EnvironmentPermission
- System.Security.Permissions.EnvironmentPermissionAttribute
- System.Security.Permissions.FileDialogPermission
- System.Security.Permissions.FileDialogPermissionAttribute
- System.Security.Permissions.FileIOPermission
- System.Security.Permissions.FileIOPermissionAttribute
- System.Security.Permissions.GacIdentityPermission
- System.Security.Permissions.GacIdentityPermissionAttribute
- System.Security.Permissions.HostProtectionAttribute
- System.Security.Permissions.IsolatedStorageFilePermission
- System.Security.Permissions.IsolatedStorageFilePermissionAttribute
- System.Security.Permissions.IsolatedStoragePermission
- System.Security.Permissions.IsolatedStoragePermissionAttribute
- System.Security.Permissions.KeyContainerPermission
- System.Security.Permissions.KeyContainerPermissionAccessEntry
- System.Security.Permissions.KeyContainerPermissionAccessEntryCollection
- System.Security.Permissions.KeyContainerPermissionAccessEntryEnumerator
- System.Security.Permissions.KeyContainerPermissionAttribute
- System.Security.Permissions.MediaPermission
- System.Security.Permissions.MediaPermissionAttribute
- System.Security.Permissions.PermissionSetAttribute
- System.Security.Permissions.PrincipalPermission
- System.Security.Permissions.PrincipalPermissionAttribute
- System.Security.Permissions.PublisherIdentityPermission
- System.Security.Permissions.PublisherIdentityPermissionAttribute
- System.Security.Permissions.ReflectionPermission
- System.Security.Permissions.ReflectionPermissionAttribute
- System.Security.Permissions.RegistryPermission
- System.Security.Permissions.RegistryPermissionAttribute
- System.Security.Permissions.ResourcePermissionBase
- System.Security.Permissions.ResourcePermissionBaseEntry
- System.Security.Permissions.SecurityAttribute
- System.Security.Permissions.SecurityPermission
- System.Security.Permissions.SecurityPermissionAttribute
- System.Security.Permissions.SiteIdentityPermission
- System.Security.Permissions.SiteIdentityPermissionAttribute
- System.Security.Permissions.StorePermission
- System.Security.Permissions.StorePermissionAttribute
- System.Security.Permissions.StrongNameIdentityPermission
- System.Security.Permissions.StrongNameIdentityPermissionAttribute
- System.Security.Permissions.StrongNamePublicKeyBlob
- System.Security.Permissions.TypeDescriptorPermission
- System.Security.Permissions.TypeDescriptorPermissionAttribute
- System.Security.Permissions.UIPermission
- System.Security.Permissions.UIPermissionAttribute
- System.Security.Permissions.UrlIdentityPermission
- System.Security.Permissions.UrlIdentityPermissionAttribute
- System.Security.Permissions.WebBrowserPermission
- System.Security.Permissions.WebBrowserPermissionAttribute
- System.Security.Permissions.ZoneIdentityPermission
- System.Security.Permissions.ZoneIdentityPermissionAttribute
Classes que derivam de CodeAccessSecurityAttribute
:
- System.Configuration.ConfigurationPermissionAttribute
- System.Data.Common.DBDataPermissionAttribute
- System.Data.Odbc.OdbcPermissionAttribute
- System.Data.OleDb.OleDbPermissionAttribute
- System.Data.OracleClient.OraclePermissionAttribute
- System.Data.SqlClient.SqlClientPermissionAttribute
- System.Diagnostics.EventLogPermissionAttribute
- System.Diagnostics.PerformanceCounterPermissionAttribute
- System.DirectoryServices.DirectoryServicesPermissionAttribute
- System.Drawing.Printing.PrintingPermissionAttribute
- System.Net.DnsPermissionAttribute
- System.Net.SocketPermissionAttribute
- System.Net.WebPermissionAttribute
- System.Net.Mail.SmtpPermissionAttribute
- System.Net.NetworkInformation.NetworkInformationPermissionAttribute
- System.Net.PeerToPeer.PnrpPermissionAttribute
- System.Net.PeerToPeer.Collaboration.PeerCollaborationPermissionAttribute
- System.ServiceProcess.ServiceControllerPermissionAttribute
- System.Transactions.DistributedTransactionPermissionAttribute
- System.Web.AspNetHostingPermissionAttribute
Interfaces:
- System.Security.Permissions.IUnrestrictedPermission
- System.Security.IPermission
- System.Security.IStackWalk
- System.Security.Policy.IIdentityPermissionFactory
Classes que implementam IStackWalk
:
Classes que implementam IPermission
:
Classes que derivam de CodeAccessPermission
:
- System.Configuration.ConfigurationPermission
- System.Data.Common.DBDataPermission
- System.Data.Odbc.OdbcPermission
- System.Data.OleDb.OleDbPermission
- System.Data.SqlClient.SqlClientPermission
- System.Data.OracleClient.OraclePermission
- System.Drawing.Printing.PrintingPermission
- System.Net.DnsPermission
- System.Net.SocketPermission
- System.Net.WebPermission
- System.Net.Mail.SmtpPermission
- System.Net.NetworkInformation.NetworkInformationPermission
- System.Net.PeerToPeer.PnrpPermission
- System.Net.PeerToPeer.Collaboration.PeerCollaborationPermission
- System.Transactions.DistributedTransactionPermission
- System.Web.AspNetHostingPermission
- System.Xaml.Permissions.XamlLoadPermission
Classes que derivam de ResourcePermissionBase
:
- System.Diagnostics.EventLogPermission
- System.Diagnostics.PerformanceCounterPermission
- System.DirectoryServices.DirectoryServicesPermission
- System.ServiceProcess.ServiceControllerPermission
Enums no System.Security.Permissions
namespace:
- System.Security.Permissions.DataProtectionPermissionFlags
- System.Security.Permissions.EnvironmentPermissionAccess
- System.Security.Permissions.FileDialogPermissionAccess
- System.Security.Permissions.FileIOPermissionAccess
- System.Security.Permissions.HostProtectionResource
- System.Security.Permissions.IsolatedStorageContainment
- System.Security.Permissions.KeyContainerPermissionFlags
- System.Security.Permissions.MediaPermissionAudio
- System.Security.Permissions.MediaPermissionImage
- System.Security.Permissions.MediaPermissionVideo
- System.Security.Permissions.PermissionState
- System.Security.Permissions.ReflectionPermissionFlag
- System.Security.Permissions.RegistryPermissionAccess
- System.Security.Permissions.SecurityAction
- System.Security.Permissions.SecurityPermissionFlag
- System.Security.Permissions.StorePermissionFlags
- System.Security.Permissions.TypeDescriptorPermissionFlags
- System.Security.Permissions.UIPermissionClipboard
- System.Security.Permissions.UIPermissionWindow
- System.Security.Permissions.WebBrowserPermissionLevel
Classes e membros que dependem dos tipos de segurança de acesso ao código:
- System.AppDomain.ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)
- System.AppDomain.PermissionSet
- System.Runtime.InteropServices.AllowReversePInvokeCallsAttribute
- System.Security.HostProtectionException
- System.Security.Policy.FileCodeGroup
- System.Security.Policy.StrongName
- System.Security.Policy.StrongNameMembershipCondition
- System.Security.Policy.ApplicationTrust.ApplicationTrust(PermissionSet, IEnumerable<StrongName>)
- System.Security.Policy.ApplicationTrust.FullTrustAssemblies
- System.Security.Policy.GacInstalled
- System.Security.Policy.PolicyStatement.PolicyStatement
- System.Security.Policy.PolicyLevel.AddNamedPermissionSet(NamedPermissionSet)
- System.Security.Policy.PolicyLevel.ChangeNamedPermissionSet(String, PermissionSet)
- System.Security.Policy.PolicyLevel.GetNamedPermissionSet(String)
- System.Security.Policy.PolicyLevel.RemoveNamedPermissionSet(String)
- PolicyLevel.RemoveNamedPermissionSet(NamedPermissionSet)
- System.Security.Policy.PolicyStatement.PermissionSet
- System.Security.Policy.Publisher
- System.Security.Policy.Site
- System.Security.Policy.Url
- System.Security.Policy.Zone
- System.Security.SecurityManager
SYSLIB0004
- RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(RuntimeHelpers+TryCode, RuntimeHelpers+CleanupCode, Object)
- RuntimeHelpers.PrepareConstrainedRegions()
- RuntimeHelpers.PrepareConstrainedRegionsNoOP()
- RuntimeHelpers.PrepareContractedDelegate(Delegate)
- RuntimeHelpers.ProbeForSufficientStack()
- System.Runtime.ConstrainedExecution.Cer
- System.Runtime.ConstrainedExecution.Consistency
- System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute
- System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
SYSLIB0005
SYSLIB0006
SYSLIB0007
- System.Security.Cryptography.AsymmetricAlgorithm.Create()
- System.Security.Cryptography.HashAlgorithm.Create()
- System.Security.Cryptography.HMAC.Create()
- System.Security.Cryptography.KeyedHashAlgorithm.Create()
- System.Security.Cryptography.SymmetricAlgorithm.Create()
SYSLIB0008
SYSLIB0009
SYSLIB0010
SYSLIB0011
- System.Exception.SerializeObjectState
- BinaryFormatter.Serialize
- BinaryFormatter.Deserialize
- Formatter.Serialize(Stream, Object)
- Formatter.Deserialize(Stream)
- IFormatter.Serialize(Stream, Object)
- IFormatter.Deserialize(Stream)