From de9af89015295d30088cf95477c9079eb3c3d1b4 Mon Sep 17 00:00:00 2001 From: Sam Harwell Date: Wed, 21 Jul 2021 15:44:07 -0700 Subject: [PATCH] Add ReferenceAssemblies.Net.Net60 --- .../PublicAPI.Unshipped.txt | 1 + .../ReferenceAssemblies.cs | 19 +++++++++++++++++++ .../MetadataReferenceTests.cs | 2 ++ 3 files changed, 22 insertions(+) diff --git a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing/PublicAPI.Unshipped.txt b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing/PublicAPI.Unshipped.txt index f9d4cbf7d..7c946dcb0 100644 --- a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing/PublicAPI.Unshipped.txt +++ b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing/PublicAPI.Unshipped.txt @@ -252,6 +252,7 @@ static Microsoft.CodeAnalysis.Testing.DiagnosticResult.CompilerWarning(string id static Microsoft.CodeAnalysis.Testing.IVerifierExtensions.EqualOrDiff(this Microsoft.CodeAnalysis.Testing.IVerifier verifier, string expected, string actual, string message = null) -> void static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.Default.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.Net.Net50.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies +static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.Net.Net60.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetCore.NetCoreApp10.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetCore.NetCoreApp11.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetCore.NetCoreApp20.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies diff --git a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing/ReferenceAssemblies.cs b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing/ReferenceAssemblies.cs index 8e085d213..2ab950247 100644 --- a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing/ReferenceAssemblies.cs +++ b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing/ReferenceAssemblies.cs @@ -865,7 +865,26 @@ public static class Net Path.Combine("ref", "net5.0")); }); + private static readonly Lazy _lazyNet60 = + new Lazy(() => + { + if (!NuGetFramework.Parse("net6.0").IsPackageBased) + { + // The NuGet version provided at runtime does not recognize the 'net6.0' target framework + throw new NotSupportedException("The 'net6.0' target framework is not supported by this version of NuGet."); + } + + return new ReferenceAssemblies( + "net6.0", + new PackageIdentity( + "Microsoft.NETCore.App.Ref", + "6.0.0-preview.6.21352.12"), + Path.Combine("ref", "net6.0")); + }); + public static ReferenceAssemblies Net50 => _lazyNet50.Value; + + public static ReferenceAssemblies Net60 => _lazyNet60.Value; } public static class NetStandard diff --git a/tests/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing.UnitTests/MetadataReferenceTests.cs b/tests/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing.UnitTests/MetadataReferenceTests.cs index 70f0a47d5..9a5f501f3 100644 --- a/tests/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing.UnitTests/MetadataReferenceTests.cs +++ b/tests/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing.UnitTests/MetadataReferenceTests.cs @@ -450,6 +450,7 @@ public async Task ResolveReferenceAssemblies_Net50() [InlineData("netcoreapp3.1")] #if !(NETCOREAPP1_1 || NET46) [InlineData("net5.0")] + [InlineData("net6.0")] #endif [InlineData("netstandard1.0")] [InlineData("netstandard1.1")] @@ -500,6 +501,7 @@ internal static ReferenceAssemblies ReferenceAssembliesForTargetFramework(string "netcoreapp3.0" => ReferenceAssemblies.NetCore.NetCoreApp30, "netcoreapp3.1" => ReferenceAssemblies.NetCore.NetCoreApp31, "net5.0" => ReferenceAssemblies.Net.Net50, + "net6.0" => ReferenceAssemblies.Net.Net60, "netstandard1.0" => ReferenceAssemblies.NetStandard.NetStandard10, "netstandard1.1" => ReferenceAssemblies.NetStandard.NetStandard11, "netstandard1.2" => ReferenceAssemblies.NetStandard.NetStandard12,