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

  • 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:

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 di codice:

SYSLIB0004

SYSLIB0005

SYSLIB0006

SYSLIB0007

SYSLIB0008

SYSLIB0009

SYSLIB0010

SYSLIB0011

SYSLIB0012

Vedi anche