Skip to content

Commit

Permalink
Build a net46 version of MS.NET.SDK.Razor to support Omnisharp in VSC…
Browse files Browse the repository at this point in the history
…ode.

This also requires building some runtime and MSBuild packages as net46.  Unfortunately we can't rely on the targeting packs for these because source-build does produce the packages but without the net46 runtime currently.
  • Loading branch information
crummel committed Jun 9, 2021
1 parent c707c3d commit 06dc859
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 135 deletions.
39 changes: 0 additions & 39 deletions patches/aspnetcore/0010-Don-t-build-for-full-fx.patch

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
From 9b33580763b2891002fcd1e53ec3101b3f381fca Mon Sep 17 00:00:00 2001
From: Chris Rummel <crummel@microsoft.com>
Date: Fri, 21 May 2021 02:36:31 -0500
Subject: [PATCH 5/5] Re-enable full fx builds in source-build.

This also adds the net46 framework to support AspNetCore building a
net46 version of Microsoft.NET.Sdk.Razor.dll, which is required to
support Omnisharp in VSCode.

---
Directory.Build.props | 2 +-
eng/Packages.props | 1 +
src/Directory.Build.props | 3 +--
src/Utilities/Microsoft.Build.Utilities.csproj | 4 ++++
4 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Directory.Build.props b/Directory.Build.props
index 1683a4c9..4e62284c 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -13,7 +13,7 @@
</PropertyGroup>

<PropertyGroup>
- <FullFrameworkTFM>net472</FullFrameworkTFM>
+ <FullFrameworkTFM>net472;net46</FullFrameworkTFM>
</PropertyGroup>

<PropertyGroup>
diff --git a/eng/Packages.props b/eng/Packages.props
index 6b716285..c38ee030 100644
--- a/eng/Packages.props
+++ b/eng/Packages.props
@@ -40,6 +40,7 @@
<PackageReference Update="System.Text.Json" Version="4.7.0" />
<PackageReference Update="System.Threading.Tasks.Dataflow" Version="4.9.0" />
<PackageReference Update="System.Threading.Thread" Version="4.0.0" />
+ <PackageReference Update="System.ValueTuple" Version="4.5.0" />
<PackageReference Update="System.Xml.XPath" Version="4.3.0" />
<PackageReference Update="xunit.assert" Version="$(XUnitVersion)" />
<PackageReference Update="xunit.console" Version="$(XUnitVersion)" />
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 54b620c6..0100afd5 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -27,13 +27,12 @@

<!-- Defaults for target frameworks and architecture -->
<LibraryTargetFrameworks>$(FullFrameworkTFM);netstandard2.0</LibraryTargetFrameworks>
- <LibraryTargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">netstandard2.0</LibraryTargetFrameworks>
<LibraryTargetFrameworks Condition="'$(MonoBuild)'=='true'">$(FullFrameworkTFM)</LibraryTargetFrameworks>
<PlatformTarget>AnyCPU</PlatformTarget>

<!-- Target frameworks for Exe and unit test projects (ie projects with runtime output) -->
<RuntimeOutputTargetFrameworks>netcoreapp2.1</RuntimeOutputTargetFrameworks>
- <RuntimeOutputTargetFrameworks Condition="'$(OsEnvironment)'=='windows' and '$(DotNetBuildFromSource)' != 'true'">$(FullFrameworkTFM);$(RuntimeOutputTargetFrameworks)</RuntimeOutputTargetFrameworks>
+ <RuntimeOutputTargetFrameworks Condition="'$(OsEnvironment)'=='windows'">$(FullFrameworkTFM);$(RuntimeOutputTargetFrameworks)</RuntimeOutputTargetFrameworks>
<RuntimeOutputTargetFrameworks Condition="'$(MonoBuild)' == 'true'">$(FullFrameworkTFM)</RuntimeOutputTargetFrameworks>

<!-- Don't automatically append target framework to output path, since we want to put the Platform Target beforehand, if it's not AnyCPU -->
diff --git a/src/Utilities/Microsoft.Build.Utilities.csproj b/src/Utilities/Microsoft.Build.Utilities.csproj
index 840d2bcc..78f84687 100644
--- a/src/Utilities/Microsoft.Build.Utilities.csproj
+++ b/src/Utilities/Microsoft.Build.Utilities.csproj
@@ -39,6 +39,10 @@
<PackageReference Include="Microsoft.Win32.Registry" />
</ItemGroup>

+ <ItemGroup Condition="'$(TargetFramework)' == 'net46'">
+ <PackageReference Include="System.ValueTuple" />
+ </ItemGroup>
+
<ItemGroup Label="Shared Code">
<Compile Include="..\Shared\AssemblyFolders\AssemblyFoldersEx.cs">
<Link>Shared\AssemblyFolders\AssemblyFoldersEx.cs</Link>
--
2.18.0

96 changes: 0 additions & 96 deletions patches/runtime/0033-Build-net4-in-source-build.patch

This file was deleted.

3 changes: 3 additions & 0 deletions repos/runtime.common.props
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
<!-- PGO is disabled for now because the profiler only runs on Windows: https://github.com/dotnet/source-build/issues/247 -->
<CoreClrBuildArguments>$(CoreClrBuildArguments) /p:NoPgoOptimize=true</CoreClrBuildArguments>
<CoreClrBuildArguments>$(CoreClrBuildArguments) /p:KeepNativeSymbols=true</CoreClrBuildArguments>
<CoreClrBuildArguments>$(CoreClrBuildArguments) /p:BuildAllConfigurations=true</CoreClrBuildArguments>
<CoreClrBuildArguments Condition="'$(TargetOS)' != 'OSX'">$(CoreClrBuildArguments) /p:RuntimeOS=$(OverrideTargetRid.Substring(0, $(OverrideTargetRid.IndexOf("-"))))</CoreClrBuildArguments>
<CoreClrBuildArguments Condition="'$(TargetOS)' == 'OSX'">$(CoreClrBuildArguments) /p:RuntimeOS=$(OverrideTargetRid)</CoreClrBuildArguments>

Expand All @@ -62,6 +63,7 @@
<LibrariesBuildArguments>$(LibrariesBuildArguments) /p:BuildAllPackages=true</LibrariesBuildArguments>
<LibrariesBuildArguments>$(LibrariesBuildArguments) /p:BuildAllOOBPackages=true</LibrariesBuildArguments>
<LibrariesBuildArguments>$(LibrariesBuildArguments) /p:KeepNativeSymbols=true</LibrariesBuildArguments>
<LibrariesBuildArguments>$(LibrariesBuildArguments) /p:BuildAllConfigurations=true</LibrariesBuildArguments>
<LibrariesBuildArguments>$(LibrariesBuildArguments) /p:BuiltSdkPackageOverride=""</LibrariesBuildArguments> <!-- Clear PackageOverride for Libraries - it only applies to coreclr -->
<LibrariesBuildArguments Condition="'$(OfflineBuild)' == 'true'">$(LibrariesBuildArguments) /p:MicrosoftNETCoreDotNetHostPackageVersion=$(DOTNET_HOST_BOOTSTRAP_VERSION)</LibrariesBuildArguments>
<LibrariesBuildArguments Condition="'$(OfflineBuild)' == 'true'">$(LibrariesBuildArguments) /p:MicrosoftNETCoreDotNetHostPolicyPackageVersion=$(DOTNET_HOST_BOOTSTRAP_VERSION)</LibrariesBuildArguments>
Expand All @@ -75,6 +77,7 @@
<InstallerBuildArguments Condition="'$(UseSystemLibunwind)' == 'true'">$(InstallerBuildArguments) -cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE</InstallerBuildArguments>
<InstallerBuildArguments Condition="$(Platform.Contains('arm')) AND '$(BuildArchitecture)' != 'arm64'">$(InstallerBuildArguments) /p:TargetArchitecture=$(Platform) /p:DisableCrossgen=true /p:CrossBuild=true</InstallerBuildArguments>
<InstallerBuildArguments>$(InstallerBuildArguments) /p:BuildDebPackage=false</InstallerBuildArguments>
<InstallerBuildArguments>$(InstallerBuildArguments) /p:BuildAllBuildAllConfigurations=true</InstallerBuildArguments>
<InstallerBuildArguments>$(InstallerBuildArguments) /p:BuildAllPackages=true</InstallerBuildArguments>
<InstallerBuildArguments>$(InstallerBuildArguments) /p:RestoreAllBuildRids=false</InstallerBuildArguments>
<InstallerBuildArguments>$(InstallerBuildArguments) /p:OutputRid=$(OverrideTargetRid)</InstallerBuildArguments>
Expand Down

0 comments on commit 06dc859

Please sign in to comment.