API obsolete con ID di diagnostica non predefiniti
Alcune API sono state contrassegnate come obsolete, a partire da .NET 5. Questa modifica che causa un'interruzione è specifica per le API contrassegnate come obsolete con un ID di diagnostica personalizzato. L'eliminazione dell'ID di diagnostica di obsolescenza predefinito, ovvero CS0618 per il compilatore C#, non elimina gli avvisi generati dal compilatore quando vengono usate queste API.
Descrizione delle modifiche
Nelle versioni precedenti di .NET queste API possono essere usate senza avvisi di compilazione. In .NET 5 e versioni successive l'uso di queste API genera un avviso o un errore in fase di compilazione con un ID di diagnostica personalizzato. L'uso di ID di diagnostica personalizzati consente di eliminare singolarmente gli avvisi di obsolescenza anziché eliminare tutti gli avvisi di obsolescenza.
La tabella seguente elenca gli ID di diagnostica personalizzati e i relativi messaggi di avviso corrispondenti per le API obsolete.
ID di diagnostica | Descrizione | Gravità |
---|---|---|
SYSLIB0001 | La codifica UTF-7 non è sicura e non deve essere usata. In alternativa, considerare l'utilizzo di UTF-8. | Avviso |
SYSLIB0002 | PrincipalPermissionAttribute non viene rispettato dal runtime e non deve essere usato. | Error |
SYSLIB0003 | La sicurezza dall'accesso di codice (CAS) non è supportata o rispettata dal runtime. | Avviso |
SYSLIB0004 | La funzionalità area di esecuzione vincolata (CER) non è supportata. | Avviso |
SYSLIB0005 | La Global Assembly Cache (GAC) non è supportata. | Avviso |
SYSLIB0006 | Thread.Abort() non è supportato e genera PlatformNotSupportedException. | Avviso |
SYSLIB0007 | L'implementazione predefinita di questo algoritmo di crittografia non è supportata. | Avviso |
SYSLIB0008 | L'API CreatePdbGenerator() non è supportata e genera PlatformNotSupportedException. | Avviso |
SYSLIB0009 | I metodi AuthenticationManager.Authenticate e AuthenticationManager.PreAuthenticate non sono supportati e generano PlatformNotSupportedException. | Avviso |
SYSLIB0010 | Alcune API di comunicazione remota non sono supportate e generano PlatformNotSupportedException. | Avviso |
SYSLIB0011 | La serializzazione BinaryFormatter è obsoleta e non deve essere usata. | Avviso |
SYSLIB0012 | Assembly.CodeBase e Assembly.EscapedCodeBase sono inclusi solo per la compatibilità di .NET Framework. Utilizzare invece Assembly.Location. | Avviso |
Versione introdotta
.NET 5.0
Azione consigliata
Seguire le indicazioni specifiche fornite per ogni ID di diagnostica usando il collegamento URL fornito nell'avviso.
Non è possibile eliminare avvisi o errori per questi elementi obsoleti usando l'ID di diagnostica standard per i tipi o i membri obsoleti. Usare invece il valore ID di diagnostica
SYSLIBxxxx
personalizzato.
API interessate
SYSLIB0001
SYSLIB0002
SYSLIB0003
Classi nello spazio dei nomi System.Security.Permissions
:
- 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
Classi derivate da 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
Interfacce:
- System.Security.Permissions.IUnrestrictedPermission
- System.Security.IPermission
- System.Security.IStackWalk
- System.Security.Policy.IIdentityPermissionFactory
Classi che implementano IStackWalk
:
Classi che implementano IPermission
:
Classi derivate da 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
Classi derivate da ResourcePermissionBase
:
- System.Diagnostics.EventLogPermission
- System.Diagnostics.PerformanceCounterPermission
- System.DirectoryServices.DirectoryServicesPermission
- System.ServiceProcess.ServiceControllerPermission
Enumerazioni nello spazio dei nomi System.Security.Permissions
:
- 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
Classi e membri che dipendono dai tipi di sicurezza di accesso di codice:
- 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)