Condividi tramite


Obsolescenze delle API con ID diagnostici non predefiniti

Alcune API sono state contrassegnate come obsolete, a partire da .NET 5. Questo cambiamento significativo è specifico per le API contrassegnate come obsolete con un ID diagnostico personalizzato. L'eliminazione dell'ID di diagnostica obsoletion predefinito, 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 alcun avviso 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 diagnostici personalizzati consente di sopprimere singolarmente gli avvisi di obsolescenza anziché sopprimere 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 diagnostico Descrizione Severità
SYSLIB0001 La codifica UTF-7 non è sicura e non deve essere usata. In alternativa, considerare l'utilizzo di UTF-8. Avvertimento
SYSLIB0002 PrincipalPermissionAttribute non viene rispettato dal runtime e non deve essere usato. Errore
SYSLIB0003 La sicurezza dall'accesso di codice (CAS) non è supportata o rispettata dal runtime. Avvertimento
SYSLIB0004 La funzionalità area di esecuzione vincolata (CER) non è supportata. Avvertimento
SYSLIB0005 La Global Assembly Cache (GAC) non è supportata. Avvertimento
SYSLIB0006 Thread.Abort() non è supportato e genera PlatformNotSupportedException. Avvertimento
SYSLIB0007 L'implementazione predefinita di questo algoritmo di crittografia non è supportata. Avvertimento
SYSLIB0008 L'API CreatePdbGenerator() non è supportata e genera PlatformNotSupportedException. Avvertimento
SYSLIB0009 I AuthenticationManager.Authenticate metodi e AuthenticationManager.PreAuthenticate non sono supportati e generano PlatformNotSupportedException. Avvertimento
SYSLIB0010 Alcune API di comunicazione remota non sono supportate e generano PlatformNotSupportedException. Avvertimento
SYSLIB0011 La serializzazione BinaryFormatter è obsoleta e non deve essere usata. Avvertimento
SYSLIB0012 Assembly.CodeBase e Assembly.EscapedCodeBase sono inclusi solo per la compatibilità di .NET Framework. Utilizzare invece Assembly.Location. Avvertimento

Versione introdotta

.NET 5.0

  • 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 tipi o membri obsoleti usando l'ID di diagnostica standard per i tipi o i membri obsoleti; usare invece il valore ID di diagnostica personalizzato SYSLIBxxxx.

Le API interessate

SYSLIB0001

SYSLIB0002

SYSLIB0003

Classi nello spazio dei nomi System.Security.Permissions

Classi derivate da CodeAccessSecurityAttribute:

Interfacce:

Classi che implementano IStackWalk:

Classi che implementano IPermission:

Classi derivate da CodeAccessPermission:

Classi derivate da ResourcePermissionBase:

Enumerazioni nello spazio dei nomi System.Security.Permissions

Classi e membri che dipendono dai tipi di sicurezza di accesso al codice:

SYSLIB0004

SYSLIB0005

SYSLIB0006

SYSLIB0007

SYSLIB0008

SYSLIB0009

SYSLIB0010

SYSLIB0011

SYSLIB0012

Vedere anche