diff --git a/docs/project/list-of-diagnostics.md b/docs/project/list-of-diagnostics.md index 6516b71d45553..c9ff66c0fef1f 100644 --- a/docs/project/list-of-diagnostics.md +++ b/docs/project/list-of-diagnostics.md @@ -91,6 +91,7 @@ The PR that reveals the implementation of the ` _hashAlgorithm; set => _hashAlgorithm = value; } + [Obsolete(Obsoletions.AssemblyNameMembersMessage, DiagnosticId = Obsoletions.AssemblyNameMembersDiagId, UrlFormat = Obsoletions.SharedUrlFormat)] public AssemblyVersionCompatibility VersionCompatibility { get => _versionCompatibility; diff --git a/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/MetadataReader.netstandard.cs b/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/MetadataReader.netstandard.cs index d85eb360d07d0..a4e71b93171a6 100644 --- a/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/MetadataReader.netstandard.cs +++ b/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/MetadataReader.netstandard.cs @@ -16,7 +16,9 @@ internal AssemblyName GetAssemblyName(StringHandle nameHandle, Version version, { Version = version, CultureName = cultureName, +#pragma warning disable SYSLIB0037 // AssemblyName.HashAlgorithm is obsolete HashAlgorithm = hashAlgorithm, +#pragma warning restore Flags = GetAssemblyNameFlags(flags), ContentType = GetContentTypeFromAssemblyFlags(flags) }; diff --git a/src/libraries/System.Reflection.Metadata/tests/System.Reflection.Metadata.Tests.csproj b/src/libraries/System.Reflection.Metadata/tests/System.Reflection.Metadata.Tests.csproj index df738508c902d..632eea19a6e21 100644 --- a/src/libraries/System.Reflection.Metadata/tests/System.Reflection.Metadata.Tests.csproj +++ b/src/libraries/System.Reflection.Metadata/tests/System.Reflection.Metadata.Tests.csproj @@ -2,7 +2,9 @@ true false - 436 + + $(NoWarn);436;SYSLIB0037 $(NetCoreAppCurrent);$(NetFrameworkMinimum) true diff --git a/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/General/AssemblyNameData.cs b/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/General/AssemblyNameData.cs index 0b4be9e4c6bd4..5f605050c9b84 100644 --- a/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/General/AssemblyNameData.cs +++ b/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/General/AssemblyNameData.cs @@ -32,8 +32,10 @@ public AssemblyName CreateAssemblyName() Version = Version, CultureName = CultureName, ContentType = ContentType, +#pragma warning disable SYSLIB0037 // AssemblyName members HashAlgorithm and ProcessorArchitecture are obsolete HashAlgorithm = HashAlgorithm, ProcessorArchitecture = ProcessorArchitecture +#pragma warning restore }; // Yes, *we* have to clone the array. AssemblyName.SetPublicKey() violates framework guidelines and doesn't make a copy. diff --git a/src/libraries/System.Reflection.MetadataLoadContext/tests/System.Reflection.MetadataLoadContext.Tests.csproj b/src/libraries/System.Reflection.MetadataLoadContext/tests/System.Reflection.MetadataLoadContext.Tests.csproj index 78f831c71d498..32e2dcef87db8 100644 --- a/src/libraries/System.Reflection.MetadataLoadContext/tests/System.Reflection.MetadataLoadContext.Tests.csproj +++ b/src/libraries/System.Reflection.MetadataLoadContext/tests/System.Reflection.MetadataLoadContext.Tests.csproj @@ -2,8 +2,9 @@ true $(NetCoreAppCurrent);$(NetFrameworkMinimum) - - $(NoWarn);SYSLIB0005 + + $(NoWarn);SYSLIB0005;SYSLIB0037 false true - $(NoWarn),SYSLIB0013 + + $(NoWarn);SYSLIB0013;SYSLIB0037 true diff --git a/src/libraries/System.Runtime/ref/System.Runtime.cs b/src/libraries/System.Runtime/ref/System.Runtime.cs index bd2e0d81869b2..394ce1f8cd781 100644 --- a/src/libraries/System.Runtime/ref/System.Runtime.cs +++ b/src/libraries/System.Runtime/ref/System.Runtime.cs @@ -11363,12 +11363,15 @@ public AssemblyName(string assemblyName) { } public string? EscapedCodeBase { get { throw null; } } public System.Reflection.AssemblyNameFlags Flags { get { throw null; } set { } } public string FullName { get { throw null; } } + [System.ObsoleteAttribute("AssemblyName members HashAlgorithm, ProcessorArchitecture, and VersionCompatibility are obsolete and not supported.", DiagnosticId = "SYSLIB0037", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] public System.Configuration.Assemblies.AssemblyHashAlgorithm HashAlgorithm { get { throw null; } set { } } [System.ObsoleteAttribute("Strong name signing is not supported and throws PlatformNotSupportedException.", DiagnosticId = "SYSLIB0017", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] public System.Reflection.StrongNameKeyPair? KeyPair { get { throw null; } set { } } public string? Name { get { throw null; } set { } } + [System.ObsoleteAttribute("AssemblyName members HashAlgorithm, ProcessorArchitecture, and VersionCompatibility are obsolete and not supported.", DiagnosticId = "SYSLIB0037", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] public System.Reflection.ProcessorArchitecture ProcessorArchitecture { get { throw null; } set { } } public System.Version? Version { get { throw null; } set { } } + [System.ObsoleteAttribute("AssemblyName members HashAlgorithm, ProcessorArchitecture, and VersionCompatibility are obsolete and not supported.", DiagnosticId = "SYSLIB0037", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")] public System.Configuration.Assemblies.AssemblyVersionCompatibility VersionCompatibility { get { throw null; } set { } } public object Clone() { throw null; } public static System.Reflection.AssemblyName GetAssemblyName(string assemblyFile) { throw null; }