Dela via


API-obsoletioner med diagnostik-ID:n som inte är standard (.NET 7)

Vissa API:er har markerats som föråldrade, med början i .NET 7. Den här icke-bakåtkompatibla ändringen är specifik för API:er som har markerats som föråldrade med ett anpassat diagnostik-ID. Om du utelämnar standarddiagnostik-ID för obsoletion, som är CS0618 för C#-kompilatorn, undertrycks inte de varningar som kompilatorn genererar när dessa API:er används.

Ändra beskrivning

I tidigare .NET-versioner kan dessa API:er användas utan någon byggvarning. I .NET 7 och senare versioner ger användningen av dessa API:er en kompileringstidsvarning eller ett fel med ett anpassat diagnostik-ID. Med anpassade diagnostik-ID:n kan du ignorera obsoletionsvarningarna individuellt i stället för att dölja alla obsoletionsvarningar.

I följande tabell visas anpassade diagnostik-ID:n och deras motsvarande varningsmeddelanden för föråldrade API:er.

Diagnostik-ID beskrivning Allvarlighetsgrad
SYSLIB0036 Regex.CompileToAssembly är föråldrad och stöds inte. Använd RegexGeneratorAttribute med källgeneratorn för reguljära uttryck i stället. Varning
SYSLIB0037 AssemblyName medlemmar HashAlgorithm, ProcessorArchitectureoch VersionCompatibility är föråldrade och stöds inte. Varning
SYSLIB0038 SerializationFormat.Binary är föråldrad och bör inte användas. Varning
SYSLIB0039 TLS-versionerna 1.0 och 1.1 har kända säkerhetsrisker och rekommenderas inte. Använd en nyare TLS-version i stället, eller använd SslProtocols.None för att skjuta upp till OS-standardvärden. Varning
SYSLIB0040 EncryptionPolicy.NoEncryption och EncryptionPolicy.AllowNoEncryption avsevärt minska säkerheten och bör inte användas i produktionskoden. Varning
SYSLIB0041 Standard-hash-algoritmen och iterationsantalet i Rfc2898DeriveBytes konstruktorer är inaktuella och osäkra. Använd en konstruktor som accepterar hash-algoritmen och antalet iterationer. Varning
SYSLIB0042 ToXmlString och FromXmlString har ingen implementering för elliptiska kurvkryptografityper (ECC) och är föråldrade. Använd ett standardformat för import och export, till exempel ExportSubjectPublicKeyInfo eller ImportSubjectPublicKeyInfo för offentliga nycklar, eller ExportPkcs8PrivateKey ImportPkcs8PrivateKey för privata nycklar. Varning
SYSLIB0043 ECDiffieHellmanPublicKey.ToByteArray() och den associerade konstruktorn har inte någon konsekvent och driftskompatibel implementering på alla plattformar. Använd ECDiffieHellmanPublicKey.ExportSubjectPublicKeyInfo() i stället. Varning
SYSLIB0044 AssemblyName.CodeBase och AssemblyName.EscapedCodeBase är föråldrade. Varning
SYSLIB0045 Kryptografiska fabriksmetoder som accepterar ett algoritmnamn är föråldrade. Använd metoden parameterlös Create fabrik på algoritmtypen i stället. Varning
SYSLIB0047 XmlSecureResolver är föråldrad. Använd XmlResolver.ThrowingResolver i stället för att förbjuda upplösning av externa XML-resurser. Varning

Version introducerad

.NET 7

Typ av icke-bakåtkompatibel ändring

Dessa obsoletioner kan påverka källkompatibiliteten.

  • Följ den specifika vägledning som ges för varje diagnostik-ID med hjälp av URL-länken som anges i varningen.

  • Varningar eller fel för dessa obsoletioner kan inte ignoreras med hjälp av standarddiagnostik-ID:t för föråldrade typer eller medlemmar. använd det anpassade SYSLIBxxxx diagnostik-ID-värdet i stället.

Berörda API:er

SYSLIB0036

SYSLIB0037

SYSLIB0038

SYSLIB0039

SYSLIB0040

SYSLIB0041

SYSLIB0042

SYSLIB0043

SYSLIB0045

SYSLIB0047

Se även