From c38765628de7299e33614b755c0cfd5846d75e80 Mon Sep 17 00:00:00 2001
From: Pranav K <prkrishn@hotmail.com>
Date: Tue, 11 Feb 2020 16:37:13 -0800
Subject: [PATCH] Build against the 3.1.0 AspNetCore

The version of the runtime that projects compile against
is stamped in to the runtimeconfig.json. In an earlier change, the AspNetCoreRef version
was bumped up to 3.1.2 which causes running dotnet dev-serve to fail
if you do not have the runtime installed.

In addition, the template json allows roll-forwards to major version (5.0 versions) if that's the only version
available. We do this with the razor compiler:
https://github.com/dotnet/aspnetcore-tooling/blob/master/src/Razor/src/Microsoft.AspNetCore.Razor.Tools/runtimeconfig.template.json
---
 eng/Versions.props                                             | 2 +-
 .../Blazor/DevServer/src/runtimeconfig.template.json           | 3 +++
 src/Components/Directory.Build.props                           | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
 create mode 100644 src/Components/Blazor/DevServer/src/runtimeconfig.template.json

diff --git a/eng/Versions.props b/eng/Versions.props
index f4ee39718fd..e8100686b61 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -69,7 +69,7 @@
     <MicrosoftExtensionsDependencyModelPackageVersion>3.1.2</MicrosoftExtensionsDependencyModelPackageVersion>
     <MicrosoftNETCoreAppInternalPackageVersion>3.1.2-servicing.20067.4</MicrosoftNETCoreAppInternalPackageVersion>
     <MicrosoftNETCoreAppRefPackageVersion>3.1.0</MicrosoftNETCoreAppRefPackageVersion>
-    <MicrosoftAspNetCoreAppRefPackageVersion>3.1.2</MicrosoftAspNetCoreAppRefPackageVersion>
+    <MicrosoftAspNetCoreAppRefPackageVersion>3.1.0</MicrosoftAspNetCoreAppRefPackageVersion>
     <MicrosoftNETCoreAppRuntimewinx64PackageVersion>3.1.2</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
     <NETStandardLibraryRefPackageVersion>2.1.0</NETStandardLibraryRefPackageVersion>
     <!-- Packages from dotnet/corefx -->
diff --git a/src/Components/Blazor/DevServer/src/runtimeconfig.template.json b/src/Components/Blazor/DevServer/src/runtimeconfig.template.json
new file mode 100644
index 00000000000..f022b7ffce1
--- /dev/null
+++ b/src/Components/Blazor/DevServer/src/runtimeconfig.template.json
@@ -0,0 +1,3 @@
+{
+  "rollForwardOnNoCandidateFx": 2
+}
\ No newline at end of file
diff --git a/src/Components/Directory.Build.props b/src/Components/Directory.Build.props
index 227faf5fc03..0b1e44f2d6a 100644
--- a/src/Components/Directory.Build.props
+++ b/src/Components/Directory.Build.props
@@ -14,7 +14,7 @@
 
     <!-- This property points to the latest released Microsoft.AspNetCore.App version it needs to be updated to
          target the latest patch before a preview release. -->
-    <LatestAspNetCoreReferenceVersion>3.1.2</LatestAspNetCoreReferenceVersion>
+    <LatestAspNetCoreReferenceVersion>$(MicrosoftAspNetCoreAppRefPackageVersion)</LatestAspNetCoreReferenceVersion>
 
     <ComponentsSharedSourceRoot>$(MSBuildThisFileDirectory)Shared\</ComponentsSharedSourceRoot>
 
-- 
GitLab