From 7e1712be49e854c2a38f534f1d3694095eb5967a Mon Sep 17 00:00:00 2001 From: Jared Parsons Date: Mon, 29 Apr 2024 10:35:49 -0700 Subject: [PATCH 1/9] Move netstandard2.0 --- .vscode/tasks.json | 13 +++++++++++++ NuGet.config | 3 +++ eng/Directory.Packages.props | 2 +- .../AnalyzerFileReferenceAppDomainTests.cs | 6 +++--- .../AnalyzerConsistencyCheckerTests.cs | 10 +++++----- src/Compilers/Test/Core/AssemblyLoadTestFixture.cs | 6 +++--- .../Test/Core/Platform/Desktop/TestHelpers.cs | 6 +++--- src/Compilers/Test/Core/TargetFrameworkUtil.cs | 2 +- 8 files changed, 32 insertions(+), 16 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index f85f5cc650b82..ca796b609eafa 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -67,6 +67,19 @@ "problemMatcher": "$msCompile", "group": "build" }, + { + "label": "build Roslyn.sln", + "command": "dotnet", + "type": "shell", + "args": [ + "build", + "-p:RunAnalyzersDuringBuild=false", + "-p:GenerateFullPaths=true", + "Roslyn.sln" + ], + "problemMatcher": "$msCompile", + "group": "build" + }, { "label": "build current project", "type": "shell", diff --git a/NuGet.config b/NuGet.config index 26a2f6f90d445..8a33f50805b36 100644 --- a/NuGet.config +++ b/NuGet.config @@ -21,6 +21,9 @@ + + + diff --git a/eng/Directory.Packages.props b/eng/Directory.Packages.props index d9970c400f1f0..098f2674ae4c6 100644 --- a/eng/Directory.Packages.props +++ b/eng/Directory.Packages.props @@ -293,7 +293,7 @@ - + diff --git a/src/Compilers/Core/CodeAnalysisTest/Analyzers/AnalyzerFileReferenceAppDomainTests.cs b/src/Compilers/Core/CodeAnalysisTest/Analyzers/AnalyzerFileReferenceAppDomainTests.cs index 7d679f73ad6e9..f79eaa292b2c4 100644 --- a/src/Compilers/Core/CodeAnalysisTest/Analyzers/AnalyzerFileReferenceAppDomainTests.cs +++ b/src/Compilers/Core/CodeAnalysisTest/Analyzers/AnalyzerFileReferenceAppDomainTests.cs @@ -94,9 +94,9 @@ public class TestAnalyzer : DiagnosticAnalyzer new SyntaxTree[] { CSharp.SyntaxFactory.ParseSyntaxTree(analyzerSource) }, new MetadataReference[] { - NetStandard20.mscorlib, - NetStandard20.netstandard, - NetStandard20.SystemRuntime, + NetStandard20.References.mscorlib, + NetStandard20.References.netstandard, + NetStandard20.References.SystemRuntime, MetadataReference.CreateFromFile(immutable.Path), MetadataReference.CreateFromFile(analyzer.Path) }, diff --git a/src/Compilers/Server/VBCSCompilerTests/AnalyzerConsistencyCheckerTests.cs b/src/Compilers/Server/VBCSCompilerTests/AnalyzerConsistencyCheckerTests.cs index 7cdf7cc9c9287..d5d7eeb2fef99 100644 --- a/src/Compilers/Server/VBCSCompilerTests/AnalyzerConsistencyCheckerTests.cs +++ b/src/Compilers/Server/VBCSCompilerTests/AnalyzerConsistencyCheckerTests.cs @@ -65,7 +65,7 @@ private TempFile CreateNetStandardDll(TempDirectory directory, string assemblyNa var comp = CSharpCompilation.Create( assemblyName, sources, - references: NetStandard20.All, + references: NetStandard20.References.All, options: options); var file = directory.CreateFile($"{assemblyName}.dll"); @@ -112,7 +112,7 @@ public void DifferingMvidsDifferentDirectory() var directory = Temp.CreateDirectory(); var assemblyLoader = DefaultAnalyzerAssemblyLoader.CreateNonLockingLoader(directory.CreateDirectory("shadow").Path); - var key = NetStandard20.netstandard.GetAssemblyIdentity().PublicKey; + var key = NetStandard20.References.netstandard.GetAssemblyIdentity().PublicKey; var mvidAlpha1 = CreateNetStandardDll(directory.CreateDirectory("mvid1"), "MvidAlpha", "1.0.0.0", key, "class C { }"); var mvidAlpha2 = CreateNetStandardDll(directory.CreateDirectory("mvid2"), "MvidAlpha", "1.0.0.0", key, "class D { }"); @@ -137,7 +137,7 @@ public void DifferingMvidsSameDirectory() var directory = Temp.CreateDirectory(); var assemblyLoader = DefaultAnalyzerAssemblyLoader.CreateNonLockingLoader(directory.CreateDirectory("shadow").Path); - var key = NetStandard20.netstandard.GetAssemblyIdentity().PublicKey; + var key = NetStandard20.References.netstandard.GetAssemblyIdentity().PublicKey; var mvidAlpha1 = CreateNetStandardDll(directory, "MvidAlpha", "1.0.0.0", key, "class C { }"); var result = AnalyzerConsistencyChecker.Check( @@ -168,7 +168,7 @@ public void DifferingMvidsSameDirectory() public void LoadingLibraryFromCompiler() { var directory = Temp.CreateDirectory(); - _ = CreateNetStandardDll(directory, "System.Memory", "2.0.0.0", NetStandard20.netstandard.GetAssemblyIdentity().PublicKey); + _ = CreateNetStandardDll(directory, "System.Memory", "2.0.0.0", NetStandard20.References.netstandard.GetAssemblyIdentity().PublicKey); // This test must use the DefaultAnalyzerAssemblyLoader as we want assembly binding redirects // to take affect here. @@ -226,7 +226,7 @@ public void AssemblyLoadException() public void LoadingSimpleLibrary() { var directory = Temp.CreateDirectory(); - var key = NetStandard20.netstandard.GetAssemblyIdentity().PublicKey; + var key = NetStandard20.References.netstandard.GetAssemblyIdentity().PublicKey; var compFile = CreateNetStandardDll(directory, "netstandardRef", "1.0.0.0", key); var analyzerReferences = ImmutableArray.Create(new CommandLineAnalyzerReference(compFile.Path)); diff --git a/src/Compilers/Test/Core/AssemblyLoadTestFixture.cs b/src/Compilers/Test/Core/AssemblyLoadTestFixture.cs index 1dc56963a68c2..b86840383740d 100644 --- a/src/Compilers/Test/Core/AssemblyLoadTestFixture.cs +++ b/src/Compilers/Test/Core/AssemblyLoadTestFixture.cs @@ -522,9 +522,9 @@ private static string GenerateDll(string assemblyName, TempDirectory directory, syntaxTrees: new SyntaxTree[] { SyntaxFactory.ParseSyntaxTree(SourceText.From(csSource, encoding: null, SourceHashAlgorithms.Default)) }, references: (new MetadataReference[] { - NetStandard20.mscorlib, - NetStandard20.netstandard, - NetStandard20.SystemRuntime + NetStandard20.References.mscorlib, + NetStandard20.References.netstandard, + NetStandard20.References.SystemRuntime }).Concat(additionalReferences), options: options); diff --git a/src/Compilers/Test/Core/Platform/Desktop/TestHelpers.cs b/src/Compilers/Test/Core/Platform/Desktop/TestHelpers.cs index fc864457cf320..c00cc71683579 100644 --- a/src/Compilers/Test/Core/Platform/Desktop/TestHelpers.cs +++ b/src/Compilers/Test/Core/Platform/Desktop/TestHelpers.cs @@ -83,9 +83,9 @@ public class TestAnalyzer : DiagnosticAnalyzer new SyntaxTree[] { SyntaxFactory.ParseSyntaxTree(SourceText.From(analyzerSource, encoding: null, SourceHashAlgorithms.Default)) }, new MetadataReference[] { - NetStandard20.mscorlib, - NetStandard20.netstandard, - NetStandard20.SystemRuntime, + NetStandard20.References.mscorlib, + NetStandard20.References.netstandard, + NetStandard20.References.SystemRuntime, MetadataReference.CreateFromFile(immutable.Path), MetadataReference.CreateFromFile(analyzer.Path) }, diff --git a/src/Compilers/Test/Core/TargetFrameworkUtil.cs b/src/Compilers/Test/Core/TargetFrameworkUtil.cs index 6f9ea4264263a..eb05dad9d0519 100644 --- a/src/Compilers/Test/Core/TargetFrameworkUtil.cs +++ b/src/Compilers/Test/Core/TargetFrameworkUtil.cs @@ -181,7 +181,7 @@ public static class TargetFrameworkUtil public static ImmutableArray Mscorlib46ExtendedReferences => ImmutableArray.Create(Net461.mscorlib, Net461.System, Net461.SystemCore, TestBase.ValueTupleRef, Net461.SystemRuntime); public static ImmutableArray Mscorlib461References => ImmutableArray.Create(Net461.mscorlib); public static ImmutableArray Mscorlib461ExtendedReferences => ImmutableArray.Create(Net461.mscorlib, Net461.System, Net461.SystemCore, NetFx.ValueTuple.tuplelib, Net461.SystemRuntime); - public static ImmutableArray NetStandard20References => ImmutableArray.Create(NetStandard20.netstandard, NetStandard20.mscorlib, NetStandard20.SystemRuntime, NetStandard20.SystemCore, NetStandard20.SystemDynamicRuntime, NetStandard20.SystemLinq, NetStandard20.SystemLinqExpressions); + public static ImmutableArray NetStandard20References => ImmutableArray.Create(NetStandard20.References.netstandard, NetStandard20.References.mscorlib, NetStandard20.References.SystemRuntime, NetStandard20.References.SystemCore, NetStandard20.References.SystemDynamicRuntime, NetStandard20.References.SystemLinq, NetStandard20.References.SystemLinqExpressions); public static ImmutableArray WinRTReferences => ImmutableArray.Create(TestBase.WinRtRefs); public static ImmutableArray DefaultVbReferences => ImmutableArray.Create(Net451.mscorlib, Net451.System, Net451.SystemCore, Net451.MicrosoftVisualBasic); public static ImmutableArray MinimalReferences => ImmutableArray.Create(TestBase.MinCorlibRef); From ef47bc5beb39ac2d9b7aab27e3c537f315178ba3 Mon Sep 17 00:00:00 2001 From: Jared Parsons Date: Mon, 29 Apr 2024 10:41:45 -0700 Subject: [PATCH 2/9] Move net50 --- eng/Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Directory.Packages.props b/eng/Directory.Packages.props index 098f2674ae4c6..3270c51b29bc2 100644 --- a/eng/Directory.Packages.props +++ b/eng/Directory.Packages.props @@ -294,7 +294,7 @@ - + From 890653ea8554b92a93a5145ff55ad57f6a15c2d1 Mon Sep 17 00:00:00 2001 From: Jared Parsons Date: Mon, 29 Apr 2024 10:47:21 -0700 Subject: [PATCH 3/9] Move net60 --- eng/Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Directory.Packages.props b/eng/Directory.Packages.props index 3270c51b29bc2..93e868dd0408e 100644 --- a/eng/Directory.Packages.props +++ b/eng/Directory.Packages.props @@ -295,7 +295,7 @@ - + From 2fa57e052f2b981b3deb8fb6bb650df6c4b02499 Mon Sep 17 00:00:00 2001 From: Jared Parsons Date: Mon, 29 Apr 2024 11:08:26 -0700 Subject: [PATCH 4/9] Move net461 --- eng/Directory.Packages.props | 2 +- .../Test/CommandLine/CommandLineTestBase.cs | 2 +- .../DefaultInterfaceImplementationTests.cs | 4 +-- .../Test/Core/TargetFrameworkUtil.cs | 34 +++++++++---------- src/Compilers/Test/Core/TestBase.cs | 6 ++-- .../Test/Utilities/CSharp/CSharpTestBase.cs | 2 +- .../Semantics/RequiredMembersTests.vb | 4 +-- .../AbstractMetadataAsSourceTests.cs | 6 ++-- .../Test/ExpressionCompiler/LocalsTests.cs | 2 +- 9 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Directory.Packages.props b/eng/Directory.Packages.props index 93e868dd0408e..ccc242a52e89a 100644 --- a/eng/Directory.Packages.props +++ b/eng/Directory.Packages.props @@ -298,7 +298,7 @@ - + - From c4496304f317fbc4876772424063719ae2920722 Mon Sep 17 00:00:00 2001 From: Jared Parsons Date: Wed, 1 May 2024 08:20:20 -0700 Subject: [PATCH 9/9] PR feedback --- .../Test/Core/TargetFrameworkUtil.cs | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/src/Compilers/Test/Core/TargetFrameworkUtil.cs b/src/Compilers/Test/Core/TargetFrameworkUtil.cs index f3317617ea998..19a0b17c34578 100644 --- a/src/Compilers/Test/Core/TargetFrameworkUtil.cs +++ b/src/Compilers/Test/Core/TargetFrameworkUtil.cs @@ -168,11 +168,37 @@ public static class TargetFrameworkUtil * for a TypeLoadException are missing important information for resolving problems if/when they occur. * https://github.com/dotnet/roslyn/issues/25961 */ - public static ImmutableArray WinRTReferences => ImmutableArray.Create(TestBase.WinRtRefs); - public static ImmutableArray MinimalReferences => ImmutableArray.Create(TestBase.MinCorlibRef); - public static ImmutableArray MinimalAsyncReferences => ImmutableArray.Create(TestBase.MinAsyncCorlibRef); - public static ImmutableArray Mscorlib45ExtendedReferences => ImmutableArray.Create(Net451.mscorlib, Net451.System, Net451.SystemCore, TestBase.ValueTupleRef, Net451.SystemRuntime); - public static ImmutableArray Mscorlib46ExtendedReferences => ImmutableArray.Create(Net461.References.mscorlib, Net461.References.System, Net461.References.SystemCore, TestBase.ValueTupleRef, Net461.References.SystemRuntime); + public static ImmutableArray WinRTReferences => + [ + .. TestBase.WinRtRefs + ]; + public static ImmutableArray MinimalReferences => + [ + TestBase.MinCorlibRef + ]; + public static ImmutableArray MinimalAsyncReferences => + [ + TestBase.MinAsyncCorlibRef + ]; + public static ImmutableArray Mscorlib45ExtendedReferences => + [ + Net451.mscorlib, + Net451.System, + Net451.SystemCore, + TestBase.ValueTupleRef, + Net451.SystemRuntime + ]; + public static ImmutableArray Mscorlib46ExtendedReferences => + [ + Net461.References.mscorlib, + Net461.References.System, + Net461.References.SystemCore, + TestBase.ValueTupleRef, + Net461.References.SystemRuntime + ]; + /* + * ⚠ Dev note ⚠: TestBase properties end here. + */ public static ImmutableArray Mscorlib40References { get; } = [