Skip to content

Commit be50c2b

Browse files
tmdsdseefelddagood
authored
Build net472 libraries for OmniSharp (#1928)
Co-authored-by: dseefeld <[email protected]> Co-authored-by: Davis Goodin <[email protected]>
1 parent 170794e commit be50c2b

8 files changed

+168
-59
lines changed

eng/SourceBuild.Tarball.KnownExtraPrebuilts.targets

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,16 @@
110110
$(TarballPrebuiltPackageDir)microsoft.sourcelink.github.1.0.0-beta2-*.nupkg;
111111
$(TarballPrebuiltPackageDir)microsoft.sourcelink.vsts.git.1.0.0-beta2-*.nupkg;
112112
" />
113+
<!--
114+
Remove packages that show up when dotnet/sdk restores Microsoft.Build/15.7.179 in net472
115+
configuration. These are not present in the source-build-reference-packages version of
116+
Microsoft.Build/15.7.179, so we know it's safe to ignore. In the production build, we aren't
117+
using SBRP yet, so we need to remove them here.
118+
-->
119+
<KnownExtraPrebuiltFile Include="
120+
$(TarballPrebuiltPackageDir)microsoft.visualstudio.setup.configuration.interop.1.16.30.nupkg;
121+
$(TarballPrebuiltPackageDir)system.threading.tasks.dataflow.4.5.24.nupkg;
122+
" />
113123
</ItemGroup>
114124

115125
<Delete Files="@(KnownExtraPrebuiltFile)" />

patches/nuget-client/0007-build-for-.NET-5.patch

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
From a158ba6c9bdf7465264a5de8ee62e5d3572b961a Mon Sep 17 00:00:00 2001
1+
From a25eb78bab34afc8a6ff082bebec9b8ca33a9f17 Mon Sep 17 00:00:00 2001
22
From: Tom Deseyn <[email protected]>
3-
Date: Thu, 12 Nov 2020 15:51:37 +0100
3+
Date: Thu, 26 Nov 2020 08:26:13 +0100
44
Subject: [PATCH] nuget.client: build for .NET 5
55

66
---
7-
build/common.project.props | 4 ++--
7+
build/common.project.props | 5 ++---
88
build/packages.targets | 4 ++--
99
src/NuGet.Core/NuGet.Frameworks/NuGet.Frameworks.csproj | 2 +-
10-
3 files changed, 5 insertions(+), 5 deletions(-)
10+
3 files changed, 5 insertions(+), 6 deletions(-)
1111

1212
diff --git a/build/common.project.props b/build/common.project.props
13-
index 03c93ae65..4679fd57a 100644
13+
index 03c93ae65..f578a2271 100644
1414
--- a/build/common.project.props
1515
+++ b/build/common.project.props
16-
@@ -13,11 +13,11 @@
16+
@@ -13,16 +13,15 @@
1717
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
1818
<NETFXTargetFrameworkVersion>v4.7.2</NETFXTargetFrameworkVersion>
1919
<NETFXTargetFramework>net472</NETFXTargetFramework>
@@ -27,6 +27,11 @@ index 03c93ae65..4679fd57a 100644
2727
<TargetFrameworksExe>$(NETFXTargetFramework);$(NETCoreTargetFramework)</TargetFrameworksExe>
2828
<TargetFrameworksExe Condition="'$(IsBuildOnlyXPLATProjects)' == 'true'">$(NETCoreTargetFramework)</TargetFrameworksExe>
2929
<TargetFrameworksExeForSigning>$(TargetFrameworksExe);netcoreapp5.0</TargetFrameworksExeForSigning>
30+
<TargetFrameworksLibrary>$(NETFXTargetFramework);$(NetStandardVersion)</TargetFrameworksLibrary>
31+
- <TargetFrameworksLibrary Condition="'$(IsBuildOnlyXPLATProjects)' == 'true'">$(NetStandardVersion)</TargetFrameworksLibrary>
32+
<TargetFrameworksLibraryForSigning>$(TargetFrameworksLibrary);netcoreapp5.0</TargetFrameworksLibraryForSigning>
33+
<RepositoryRootDirectory>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'README.md'))\</RepositoryRootDirectory>
34+
<BuildCommonDirectory>$(RepositoryRootDirectory)build\</BuildCommonDirectory>
3035
diff --git a/build/packages.targets b/build/packages.targets
3136
index 873850ccb..baa369e09 100644
3237
--- a/build/packages.targets
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
From c74570ea31e05f3f7b9d6de326d0b61c0bcf91d2 Mon Sep 17 00:00:00 2001
2+
From: Davis Goodin <[email protected]>
3+
Date: Thu, 10 Dec 2020 16:17:55 -0600
4+
Subject: [PATCH] Use source-built Microsoft.Web.Xdt
5+
6+
---
7+
build/packages.targets | 6 +++++-
8+
1 file changed, 5 insertions(+), 1 deletion(-)
9+
10+
diff --git a/build/packages.targets b/build/packages.targets
11+
index 3cecece3e..f70aef127 100644
12+
--- a/build/packages.targets
13+
+++ b/build/packages.targets
14+
@@ -11,6 +11,10 @@
15+
<PatchedSystemPackagesVersion>5.0.0</PatchedSystemPackagesVersion>
16+
</PropertyGroup>
17+
18+
+ <PropertyGroup>
19+
+ <MicrosoftWebXdtPackageVersion Condition="'$(MicrosoftWebXdtPackageVersion)' == ''">3.0.0</MicrosoftWebXdtPackageVersion>
20+
+ </PropertyGroup>
21+
+
22+
<!-- Test and package versions -->
23+
<PropertyGroup>
24+
<XunitVersion>2.4.1</XunitVersion>
25+
@@ -60,7 +64,7 @@
26+
<PackageReference Update="Microsoft.VisualStudio.Threading.Analyzers" Version="$(VSThreadingVersion)" />
27+
<PackageReference Update="Microsoft.VisualStudio.Workspace.VSIntegration" Version="16.6.55-preview-0003" />
28+
<PackageReference Update="Microsoft.VisualStudio.Utilities" Version="$(VSFrameworkVersion)" />
29+
- <PackageReference Update="Microsoft.Web.Xdt" Version="2.1.2" />
30+
+ <PackageReference Update="Microsoft.Web.Xdt" Version="$(MicrosoftWebXdtPackageVersion)" />
31+
<PackageReference Update="Newtonsoft.Json" Version="$(NewtonsoftJsonPackageVersion)" />
32+
<PackageReference Update="System.Collections.Immutable" Version="1.7.1" />
33+
<PackageReference Update="System.Diagnostics.Debug" Version="$(SystemPackagesVersion)" />
34+
--
35+
2.25.4
36+
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
From e4813ac3c2260a370e196acaa09a19e77aacbe0e Mon Sep 17 00:00:00 2001
2+
From: Davis Goodin <[email protected]>
3+
Date: Wed, 9 Dec 2020 14:01:09 -0600
4+
Subject: [PATCH] Build net4* in source-build
5+
6+
Remove some ref/[...].csproj ProjectReferences to avoid build errors
7+
like these:
8+
9+
/work/artifacts/src/runtime.cf258a14b70ad9069470a108f13765e0e5988f51/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.cs(1383,140):
10+
error CS0433: The type 'PermissionSet' exists in both 'System.Security.Permissions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' and 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' [/work/artifacts/src/runtime.cf258a14b70ad9069470a108f13765e0e5988f51/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.csproj]
11+
/work/artifacts/src/runtime.cf258a14b70ad9069470a108f13765e0e5988f51/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.cs(1471,125):
12+
error CS0433: The type 'PermissionSet' exists in both 'System.Security.Permissions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' and 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' [/work/artifacts/src/runtime.cf258a14b70ad9069470a108f13765e0e5988f51/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.csproj]
13+
/work/.dotnet/sdk/5.0.100-rc.1.20452.10/Microsoft.Common.CrossTargeting.targets(88,5): error MSB4181: The "MSBuild" task returned false but did not log an error. [/work/artifacts/src/runtime.cf258a14b70ad9069470a108f13765e0e5988f51/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.csproj]
14+
/work/artifacts/src/runtime.cf258a14b70ad9069470a108f13765e0e5988f51/src/libraries/System.ServiceProcess.ServiceController/ref/System.ServiceProcess.ServiceController.cs(39,43):
15+
error CS0433: The type 'EventLog' exists in both 'System.Diagnostics.EventLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' and 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' [/work/artifacts/src/runtime.cf258a14b70ad9069470a108f13765e0e5988f51/src/libraries/System.ServiceProcess.ServiceController/ref/System.ServiceProcess.ServiceController.csproj]
16+
/work/.dotnet/sdk/5.0.100-rc.1.20452.10/Microsoft.Common.CrossTargeting.targets(88,5): error MSB4181: The "MSBuild" task returned false but did not log an error. [/work/artifacts/src/runtime.cf258a14b70ad9069470a108f13765e0e5988f51/src/libraries/System.ServiceProcess.ServiceController/ref/System.ServiceProcess.ServiceController.csproj]
17+
---
18+
src/libraries/Directory.Build.props | 5 +++--
19+
.../src/Microsoft.Extensions.Configuration.Xml.csproj | 3 +++
20+
.../ref/System.Configuration.ConfigurationManager.csproj | 2 +-
21+
.../ref/System.ServiceProcess.ServiceController.csproj | 2 +-
22+
4 files changed, 8 insertions(+), 4 deletions(-)
23+
24+
diff --git a/src/libraries/Directory.Build.props b/src/libraries/Directory.Build.props
25+
index 7a3946c28a4..dfe161d6d72 100644
26+
--- a/src/libraries/Directory.Build.props
27+
+++ b/src/libraries/Directory.Build.props
28+
@@ -41,8 +41,9 @@
29+
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
30+
<BuildTargetFramework Condition="'$(BuildTargetFramework)' == '' and '$(TargetFramework)' != ''">$(TargetFramework)</BuildTargetFramework>
31+
<!-- Build all .NET Framework configurations when net48 is passed in. This is for convenience. -->
32+
- <AdditionalBuildTargetFrameworks Condition="'$(BuildTargetFramework)' == 'net48'">net45;net451;net452;net46;net461;net462;net47;net471;net472</AdditionalBuildTargetFrameworks>
33+
- <AdditionalBuildTargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true' and '$(BuildAllProjects)' == 'true'">$(AdditionalBuildTargetFrameworks);netstandard2.0</AdditionalBuildTargetFrameworks>
34+
+ <NETFrameworkTargetFrameworksExcept48>net45;net451;net452;net46;net461;net462;net47;net471;net472</NETFrameworkTargetFrameworksExcept48>
35+
+ <AdditionalBuildTargetFrameworks Condition="'$(BuildTargetFramework)' == 'net48'">$(AdditionalBuildTargetFrameworks);$(NETFrameworkTargetFrameworksExcept48)</AdditionalBuildTargetFrameworks>
36+
+ <AdditionalBuildTargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true' and '$(BuildAllProjects)' == 'true'">$(AdditionalBuildTargetFrameworks);netstandard2.0;net48;$(NETFrameworkTargetFrameworksExcept48)</AdditionalBuildTargetFrameworks>
37+
<BuildSettings>$(BuildTargetFramework)-$(TargetOS)-$(Configuration)-$(TargetArchitecture)</BuildSettings>
38+
<BuildSettings Condition="'$(BuildTargetFramework)' == ''">$(NetCoreAppCurrent)-$(TargetOS)-$(Configuration)-$(TargetArchitecture)</BuildSettings>
39+
</PropertyGroup>
40+
diff --git a/src/libraries/Microsoft.Extensions.Configuration.Xml/src/Microsoft.Extensions.Configuration.Xml.csproj b/src/libraries/Microsoft.Extensions.Configuration.Xml/src/Microsoft.Extensions.Configuration.Xml.csproj
41+
index e1dad4a470d..ac14aaad7d6 100644
42+
--- a/src/libraries/Microsoft.Extensions.Configuration.Xml/src/Microsoft.Extensions.Configuration.Xml.csproj
43+
+++ b/src/libraries/Microsoft.Extensions.Configuration.Xml/src/Microsoft.Extensions.Configuration.Xml.csproj
44+
@@ -10,6 +10,9 @@
45+
<ProjectReference Include="$(LibrariesProjectRoot)Microsoft.Extensions.Configuration.Abstractions\src\Microsoft.Extensions.Configuration.Abstractions.csproj" />
46+
<ProjectReference Include="$(LibrariesProjectRoot)Microsoft.Extensions.Configuration.FileExtensions\src\Microsoft.Extensions.Configuration.FileExtensions.csproj" />
47+
<ProjectReference Include="$(LibrariesProjectRoot)Microsoft.Extensions.FileProviders.Abstractions\src\Microsoft.Extensions.FileProviders.Abstractions.csproj" />
48+
+ </ItemGroup>
49+
+
50+
+ <ItemGroup Condition="!$(TargetFramework.StartsWith('net4'))">
51+
<ProjectReference Include="$(LibrariesProjectRoot)System.Security.Cryptography.Xml\src\System.Security.Cryptography.Xml.csproj" />
52+
</ItemGroup>
53+
54+
diff --git a/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.csproj b/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.csproj
55+
index 4adc0b2edb5..66d4e2aa47d 100644
56+
--- a/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.csproj
57+
+++ b/src/libraries/System.Configuration.ConfigurationManager/ref/System.Configuration.ConfigurationManager.csproj
58+
@@ -10,7 +10,7 @@
59+
<ItemGroup>
60+
<Compile Include="System.Configuration.ConfigurationManager.cs" />
61+
</ItemGroup>
62+
- <ItemGroup>
63+
+ <ItemGroup Condition="'$(IsPartialFacadeAssembly)' != 'true'">
64+
<ProjectReference Include="..\..\System.Security.Permissions\ref\System.Security.Permissions.csproj" />
65+
</ItemGroup>
66+
<ItemGroup Condition="'$(IsPartialFacadeAssembly)' == 'true'">
67+
diff --git a/src/libraries/System.ServiceProcess.ServiceController/ref/System.ServiceProcess.ServiceController.csproj b/src/libraries/System.ServiceProcess.ServiceController/ref/System.ServiceProcess.ServiceController.csproj
68+
index 50d5af47646..3451105192e 100644
69+
--- a/src/libraries/System.ServiceProcess.ServiceController/ref/System.ServiceProcess.ServiceController.csproj
70+
+++ b/src/libraries/System.ServiceProcess.ServiceController/ref/System.ServiceProcess.ServiceController.csproj
71+
@@ -13,7 +13,7 @@
72+
<ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
73+
<Reference Include="System.ServiceProcess" />
74+
</ItemGroup>
75+
- <ItemGroup>
76+
+ <ItemGroup Condition="!$(TargetFramework.StartsWith('net4'))">
77+
<ProjectReference Include="..\..\System.Diagnostics.EventLog\ref\System.Diagnostics.EventLog.csproj" />
78+
</ItemGroup>
79+
</Project>
80+
\ No newline at end of file
81+
--
82+
2.25.4
83+

patches/sdk/0006-Don-t-build-for-net472.patch

Lines changed: 0 additions & 53 deletions
This file was deleted.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
From 100be7e11ad9247e77e7584cb562d67e86fc1334 Mon Sep 17 00:00:00 2001
2+
From: Davis Goodin <[email protected]>
3+
Date: Thu, 10 Dec 2020 16:50:34 -0600
4+
Subject: [PATCH] Lift NETStandard.Library to SBRP version
5+
6+
---
7+
.../Microsoft.NET.Build.Extensions.Tasks.csproj | 2 ++
8+
1 file changed, 2 insertions(+)
9+
10+
diff --git a/src/Tasks/Microsoft.NET.Build.Extensions.Tasks/Microsoft.NET.Build.Extensions.Tasks.csproj b/src/Tasks/Microsoft.NET.Build.Extensions.Tasks/Microsoft.NET.Build.Extensions.Tasks.csproj
11+
index ff2cd522c..5e4458794 100644
12+
--- a/src/Tasks/Microsoft.NET.Build.Extensions.Tasks/Microsoft.NET.Build.Extensions.Tasks.csproj
13+
+++ b/src/Tasks/Microsoft.NET.Build.Extensions.Tasks/Microsoft.NET.Build.Extensions.Tasks.csproj
14+
@@ -48,6 +48,8 @@
15+
<PackageReference Include="Microsoft.Build.Framework" Version="15.7.179" ExcludeAssets="Runtime" />
16+
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="15.7.179" ExcludeAssets="Runtime" />
17+
<PackageReference Include="NETStandard.Library.NETFramework" Version="$(NETStandardLibraryNETFrameworkVersion)" ExcludeAssets="All" NoWarn="NU1701" />
18+
+ <!-- Lift dependency of NETStandard.Library.NETFramework to version produced in SBRP. -->
19+
+ <PackageReference Include="NETStandard.Library" Version="2.0.3" ExcludeAssets="All" />
20+
</ItemGroup>
21+
22+
<ItemGroup>
23+
--
24+
2.25.4
25+

repos/nuget-client.proj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
<RepositoryReference Include="common" />
2323
<RepositoryReference Include="newtonsoft-json" />
2424
<RepositoryReference Include="msbuild" />
25+
<RepositoryReference Include="aspnet-xdt" />
2526
</ItemGroup>
2627

2728
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />

tools-local/prebuilt-baseline-online.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@
146146
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net472" Version="1.0.0" />
147147
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net48" Version="1.0.0" />
148148
<Usage Id="Microsoft.SymbolUploader.Build.Task" Version="1.1.141804" IsDirectDependency="true" IsAutoReferenced="true" />
149+
<Usage Id="Microsoft.VisualStudio.Setup.Configuration.Interop" Version="1.16.30" />
149150
<Usage Id="Microsoft.Win32.Primitives" Version="4.0.1" />
150151
<Usage Id="Microsoft.Win32.Primitives" Version="4.3.0" />
151152
<Usage Id="Microsoft.Win32.Registry" Version="4.0.0" />
@@ -430,6 +431,7 @@
430431
<Usage Id="System.Threading.Overlapped" Version="4.3.0" />
431432
<Usage Id="System.Threading.Tasks" Version="4.0.11" IsDirectDependency="true" />
432433
<Usage Id="System.Threading.Tasks" Version="4.3.0" />
434+
<Usage Id="System.Threading.Tasks.Dataflow" Version="4.5.24" />
433435
<Usage Id="System.Threading.Tasks.Dataflow" Version="4.6.0" />
434436
<Usage Id="System.Threading.Tasks.Dataflow" Version="4.9.0" />
435437
<Usage Id="System.Threading.Tasks.Extensions" Version="4.0.0" />

0 commit comments

Comments
 (0)