From 459295cbc91cfd7eebc6a34743b5711535eaeac9 Mon Sep 17 00:00:00 2001 From: Sam Harwell Date: Tue, 28 Sep 2021 11:18:52 -0700 Subject: [PATCH] Add ReferenceAssemblies.NetFramework.Net35 --- .../PublicAPI.Unshipped.txt | 4 +++ .../ReferenceAssemblies.cs | 22 +++++++++++++++- .../MetadataReferenceTests.cs | 26 +++++++++++++++++++ 3 files changed, 51 insertions(+), 1 deletion(-) 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 7c946dcb0..fa0ea5952 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 @@ -176,6 +176,7 @@ Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.Net Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetCore Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework.Net20 +Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework.Net35 Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework.Net40 Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework.Net45 Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework.Net451 @@ -261,6 +262,9 @@ static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetCore.NetCoreApp30.g static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetCore.NetCoreApp31.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework.Net20.Default.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework.Net20.WindowsForms.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies +static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework.Net35.Default.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies +static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework.Net35.WindowsForms.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies +static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework.Net35.Wpf.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework.Net40.Default.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework.Net40.WindowsForms.get -> Microsoft.CodeAnalysis.Testing.ReferenceAssemblies static Microsoft.CodeAnalysis.Testing.ReferenceAssemblies.NetFramework.Net40.Wpf.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 2ab950247..5d558bc89 100644 --- a/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing/ReferenceAssemblies.cs +++ b/src/Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.Analyzer.Testing/ReferenceAssemblies.cs @@ -27,7 +27,7 @@ namespace Microsoft.CodeAnalysis.Testing { public sealed partial class ReferenceAssemblies { - private const string ReferenceAssembliesPackageVersion = "1.0.0"; + private const string ReferenceAssembliesPackageVersion = "1.0.2"; private static readonly FileSystemSemaphore Semaphore = new FileSystemSemaphore(Path.Combine(Path.GetTempPath(), "test-packages", ".lock")); @@ -579,6 +579,26 @@ public static class Net20 = Default.AddAssemblies(ImmutableArray.Create("System.Drawing", "System.Windows.Forms")); } + public static class Net35 + { + public static ReferenceAssemblies Default { get; } + = new ReferenceAssemblies( + "net35", + new PackageIdentity( + "Microsoft.NETFramework.ReferenceAssemblies.net35", + ReferenceAssembliesPackageVersion), + Path.Combine("build", ".NETFramework", "v3.5")) + .WithAssemblyIdentityComparer(DesktopAssemblyIdentityComparer.Default) + .AddAssemblies(ImmutableArray.Create("mscorlib", "System", "System.Core", "System.Data", "System.Data.DataSetExtensions", "System.Xml", "System.Xml.Linq")) + .AddLanguageSpecificAssemblies(LanguageNames.VisualBasic, ImmutableArray.Create("Microsoft.VisualBasic")); + + public static ReferenceAssemblies WindowsForms { get; } + = Default.AddAssemblies(ImmutableArray.Create("System.Deployment", "System.Drawing", "System.Windows.Forms")); + + public static ReferenceAssemblies Wpf { get; } + = Default.AddAssemblies(ImmutableArray.Create("PresentationCore", "PresentationFramework", "WindowsBase")); + } + public static class Net40 { public static ReferenceAssemblies Default { get; } 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 9a5f501f3..83dbbaa15 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 @@ -29,6 +29,30 @@ public async Task ResolveReferenceAssemblies_Net20_WindowsForms() Assert.NotEmpty(resolved); } + [Fact] + public async Task ResolveReferenceAssemblies_Net35() + { + var referenceAssemblies = ReferenceAssemblies.NetFramework.Net35.Default; + var resolved = await referenceAssemblies.ResolveAsync(LanguageNames.CSharp, CancellationToken.None); + Assert.NotEmpty(resolved); + } + + [Fact] + public async Task ResolveReferenceAssemblies_Net35_WindowsForms() + { + var referenceAssemblies = ReferenceAssemblies.NetFramework.Net35.WindowsForms; + var resolved = await referenceAssemblies.ResolveAsync(LanguageNames.CSharp, CancellationToken.None); + Assert.NotEmpty(resolved); + } + + [Fact] + public async Task ResolveReferenceAssemblies_Net35_Wpf() + { + var referenceAssemblies = ReferenceAssemblies.NetFramework.Net35.Wpf; + var resolved = await referenceAssemblies.ResolveAsync(LanguageNames.CSharp, CancellationToken.None); + Assert.NotEmpty(resolved); + } + [Fact] public async Task ResolveReferenceAssemblies_Net40() { @@ -431,6 +455,7 @@ public async Task ResolveReferenceAssemblies_Net50() } [Theory] + [InlineData("net35")] [InlineData("net40")] [InlineData("net45")] [InlineData("net451")] @@ -483,6 +508,7 @@ internal static ReferenceAssemblies ReferenceAssembliesForTargetFramework(string return targetFramework switch { "net20" => ReferenceAssemblies.NetFramework.Net20.Default, + "net35" => ReferenceAssemblies.NetFramework.Net35.Default, "net40" => ReferenceAssemblies.NetFramework.Net40.Default, "net45" => ReferenceAssemblies.NetFramework.Net45.Default, "net451" => ReferenceAssemblies.NetFramework.Net451.Default,