SYSLIB0040: EncryptionPolicy.NoEncryption ed EncryptionPolicy.AllowNoEncryption sono obsoleti
EncryptionPolicy.NoEncryption e EncryptionPolicy.AllowNoEncryption sono contrassegnati come obsoleti, a partire da .NET 7. L'uso di questi campi di enumerazione nel codice genera un avviso SYSLIB0040
in fase di compilazione.
Le versioni precedenti di SSL/TLS non consentivano alcuna crittografia e, sebbene possano essere utili per il debug, non devono essere usate nell'ambiente di produzione. Inoltre, la crittografia NULL non è più disponibile a partire da TLS 1.3.
Soluzione alternativa
N/D
Eliminare un avviso
Se è necessario usare le API obsolete, è possibile eliminare l'avviso nel codice o nel file di progetto.
Per eliminare solo una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare l'avviso.
// Disable the warning.
#pragma warning disable SYSLIB0040
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0040
Per eliminare tutti gli avvisi SYSLIB0040
nel progetto, aggiungere una proprietà <NoWarn>
al file di progetto.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0040</NoWarn>
</PropertyGroup>
</Project>
Per altre informazioni, vedere Non visualizzare gli avvisi.