Skip to content

Commit 75d5099

Browse files
authored
Reference assemblies for net472 (#5)
This adds support for the net472 target framework
1 parent 77722b2 commit 75d5099

File tree

11 files changed

+2210
-2
lines changed

11 files changed

+2210
-2
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>netstandard2.0</TargetFramework>
5+
<IsPackable>true</IsPackable>
6+
</PropertyGroup>
7+
8+
<ItemGroup>
9+
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net472" Version="1.0.0" IncludeAssets="none" PrivateAssets="all" GeneratePathProperty="true" />
10+
</ItemGroup>
11+
12+
<Import Project="Generated.targets" />
13+
14+
</Project>

Basic.Reference.Assemblies.Net472/Generated.cs

Lines changed: 537 additions & 0 deletions
Large diffs are not rendered by default.

Basic.Reference.Assemblies.Net472/Generated.targets

Lines changed: 524 additions & 0 deletions
Large diffs are not rendered by default.

Basic.Reference.Assemblies.UnitTests/Basic.Reference.Assemblies.UnitTests.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
<ProjectReference Include="..\Basic.Reference.Assemblies.NetStandard20\Basic.Reference.Assemblies.NetStandard20.csproj">
2424
<Aliases>RefNetStandard20</Aliases>
2525
</ProjectReference>
26+
<ProjectReference Include="..\Basic.Reference.Assemblies.Net472\Basic.Reference.Assemblies.Net472.csproj">
27+
<Aliases>RefNet472</Aliases>
28+
</ProjectReference>
2629
<ProjectReference Include="..\Basic.Reference.Assemblies\Basic.Reference.Assemblies.csproj" />
2730
</ItemGroup>
2831

Basic.Reference.Assemblies.UnitTests/SpecificSanityUnitTests.cs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
extern alias RefNetCoreApp31;
22
extern alias RefNet50;
33
extern alias RefNetStandard20;
4+
extern alias RefNet472;
45

56
using Microsoft.CodeAnalysis.CSharp;
67
using System;
@@ -13,6 +14,7 @@ namespace Basic.Reference.Assemblies.UnitTests
1314
using Net50 = RefNet50::Basic.Reference.Assemblies.Net50;
1415
using NetCoreApp31 = RefNetCoreApp31::Basic.Reference.Assemblies.NetCoreApp31;
1516
using NetStandard20 = RefNetStandard20::Basic.Reference.Assemblies.NetStandard20;
17+
using Net472 = RefNet472::Basic.Reference.Assemblies.Net472;
1618

1719
public class SpecificSanityUnitTests
1820
{
@@ -98,5 +100,41 @@ public void NetStandard20Tests()
98100
Assert.True(NetStandard20.All.Count() > 50);
99101
Assert.Equal("Basic.Reference.Assemblies.NetStandard20", typeof(NetStandard20).Assembly.GetName().Name);
100102
}
103+
104+
[Fact]
105+
public void Net472Tests()
106+
{
107+
foreach (var portableRef in Net472.All)
108+
{
109+
Assert.NotNull(portableRef);
110+
}
111+
Assert.True(Net472.All.Count() > 50);
112+
Assert.Equal("Basic.Reference.Assemblies.Net472", typeof(Net472).Assembly.GetName().Name);
113+
}
114+
115+
[Fact]
116+
public void Net472Compilation()
117+
{
118+
var source = @"
119+
using System;
120+
121+
class Program
122+
{
123+
static void Main()
124+
{
125+
Console.WriteLine(""Hello World"");
126+
}
127+
}";
128+
var compilation = CSharpCompilation.Create(
129+
"Example",
130+
new[] { CSharpSyntaxTree.ParseText(source) },
131+
references: Net472.All);
132+
133+
Assert.Empty(compilation.GetDiagnostics());
134+
using var stream = new MemoryStream();
135+
var emitResult = compilation.Emit(stream);
136+
Assert.True(emitResult.Success);
137+
Assert.Empty(emitResult.Diagnostics);
138+
}
101139
}
102140
}

Basic.Reference.Assemblies.sln

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Basic.Reference.Assemblies.
1313
EndProject
1414
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basic.Reference.Assemblies", "Basic.Reference.Assemblies\Basic.Reference.Assemblies.csproj", "{28EA430D-F84C-46DE-B2EC-D60D1C0A437C}"
1515
EndProject
16+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basic.Reference.Assemblies.Net472", "Basic.Reference.Assemblies.Net472\Basic.Reference.Assemblies.Net472.csproj", "{6F49C153-3DB0-4286-AA66-51B1603D84AC}"
17+
EndProject
1618
Global
1719
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1820
Debug|Any CPU = Debug|Any CPU
@@ -83,6 +85,18 @@ Global
8385
{28EA430D-F84C-46DE-B2EC-D60D1C0A437C}.Release|x64.Build.0 = Release|Any CPU
8486
{28EA430D-F84C-46DE-B2EC-D60D1C0A437C}.Release|x86.ActiveCfg = Release|Any CPU
8587
{28EA430D-F84C-46DE-B2EC-D60D1C0A437C}.Release|x86.Build.0 = Release|Any CPU
88+
{6F49C153-3DB0-4286-AA66-51B1603D84AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
89+
{6F49C153-3DB0-4286-AA66-51B1603D84AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
90+
{6F49C153-3DB0-4286-AA66-51B1603D84AC}.Debug|x64.ActiveCfg = Debug|Any CPU
91+
{6F49C153-3DB0-4286-AA66-51B1603D84AC}.Debug|x64.Build.0 = Debug|Any CPU
92+
{6F49C153-3DB0-4286-AA66-51B1603D84AC}.Debug|x86.ActiveCfg = Debug|Any CPU
93+
{6F49C153-3DB0-4286-AA66-51B1603D84AC}.Debug|x86.Build.0 = Debug|Any CPU
94+
{6F49C153-3DB0-4286-AA66-51B1603D84AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
95+
{6F49C153-3DB0-4286-AA66-51B1603D84AC}.Release|Any CPU.Build.0 = Release|Any CPU
96+
{6F49C153-3DB0-4286-AA66-51B1603D84AC}.Release|x64.ActiveCfg = Release|Any CPU
97+
{6F49C153-3DB0-4286-AA66-51B1603D84AC}.Release|x64.Build.0 = Release|Any CPU
98+
{6F49C153-3DB0-4286-AA66-51B1603D84AC}.Release|x86.ActiveCfg = Release|Any CPU
99+
{6F49C153-3DB0-4286-AA66-51B1603D84AC}.Release|x86.Build.0 = Release|Any CPU
86100
EndGlobalSection
87101
GlobalSection(SolutionProperties) = preSolution
88102
HideSolutionNode = FALSE

Basic.Reference.Assemblies/Basic.Reference.Assemblies.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@
88
<Import Project="Generated.Net50.targets" />
99
<Import Project="Generated.NetCoreApp31.targets" />
1010
<Import Project="Generated.NetStandard20.targets" />
11+
<Import Project="Generated.Net472.targets" />
1112
</Project>

Basic.Reference.Assemblies/BasicReferenceAssemblies.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@ public static class ReferenceAssemblies
1212
public static IEnumerable<PortableExecutableReference> NetCoreApp31 => Basic.Reference.Assemblies.NetCoreApp31.All;
1313
public static IEnumerable<PortableExecutableReference> Net50 => Basic.Reference.Assemblies.Net50.All;
1414
public static IEnumerable<PortableExecutableReference> NetStandard20 => Basic.Reference.Assemblies.NetStandard20.All;
15+
public static IEnumerable<PortableExecutableReference> Net472 => Basic.Reference.Assemblies.Net472.All;
1516

1617
public static IEnumerable<PortableExecutableReference> Get(ReferenceAssemblyKind kind) => kind switch
1718
{
1819
ReferenceAssemblyKind.NetCoreApp31 => NetCoreApp31,
1920
ReferenceAssemblyKind.Net50 => Net50,
2021
ReferenceAssemblyKind.NetStandard20 => NetStandard20,
22+
ReferenceAssemblyKind.Net472 => Net472,
2123
_ => throw new Exception($"Invalid kind: {kind}")
2224
};
2325
}
@@ -26,7 +28,8 @@ public enum ReferenceAssemblyKind
2628
{
2729
NetCoreApp31,
2830
Net50,
29-
NetStandard20
31+
NetStandard20,
32+
Net472,
3033
}
3134

3235
public static class Extensions

0 commit comments

Comments
 (0)