diff --git a/build/SharedFx.targets b/build/SharedFx.targets
index b872a2b659..0ccf8b7a4e 100644
--- a/build/SharedFx.targets
+++ b/build/SharedFx.targets
@@ -6,6 +6,7 @@
_BuildSharedFxProjects;TestSharedFx
$(BuildSharedFxDependsOn);CodeSign
$(IntermediateDir)ar\$(SharedFxRid)\
+ true
@@ -13,6 +14,7 @@
+
@@ -26,6 +28,7 @@
+
@@ -44,8 +47,10 @@
$(BuildProperties);
SharedFxRid=$(SharedFxRid);
+ SharedFxArchitecture=$(SharedFxArchitecture);
DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath);
- DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath)
+ DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath);
+ PackageVersion=$(PackageVersion)
diff --git a/build/artifacts.props b/build/artifacts.props
index 9df9a579f9..d4e4123a5a 100644
--- a/build/artifacts.props
+++ b/build/artifacts.props
@@ -13,6 +13,7 @@
+
diff --git a/eng/targets/RuntimeIdentifiers.props b/eng/targets/RuntimeIdentifiers.props
index 56ce1f0e9c..b38ec14b94 100644
--- a/eng/targets/RuntimeIdentifiers.props
+++ b/eng/targets/RuntimeIdentifiers.props
@@ -6,6 +6,8 @@
osx-x64
linux-x64
+ $(SharedFxRid.Substring($([MSBuild]::Add($(SharedFxRid.LastIndexOf('-')), 1))))
+
win-x64
osx-x64
diff --git a/src/Installers/RuntimeSiteExtension/Directory.Build.targets b/src/Installers/RuntimeSiteExtension/Directory.Build.targets
new file mode 100644
index 0000000000..758cb49f05
--- /dev/null
+++ b/src/Installers/RuntimeSiteExtension/Directory.Build.targets
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+ false
+
+ false
+
+ false
+
+ true
+
+ true
+
+ false
+
+ false
+
+
+
+
+
+
+ NuGetPackage
+ $(PackageId)
+ $(PackageVersion)
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Installers/RuntimeSiteExtension/Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj b/src/Installers/RuntimeSiteExtension/Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj
new file mode 100644
index 0000000000..352a1b8443
--- /dev/null
+++ b/src/Installers/RuntimeSiteExtension/Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj
@@ -0,0 +1,47 @@
+
+
+
+ net461
+ AzureSiteExtension
+ content
+
+ $(VersionPrefix.Substring(0, $(VersionPrefix.LastIndexOf('.'))))
+ ASP.NET Core $(TrimmedVersion) ($(SharedFxArchitecture)) Runtime
+ This site extension installs Microsoft.AspNetCore.All, Microsoft.AspNetCore.App and Microsoft.NetCore.App shared runtimes.
+ aspnetcore;AzureSiteExtension
+ AspNetCoreRuntime.$(TrimmedVersion).$(SharedFxArchitecture)
+ true
+ $(RepositoryRoot)obj\ar\$(SharedFxRid)\
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Installers/RuntimeSiteExtension/applicationHost.xdt b/src/Installers/RuntimeSiteExtension/applicationHost.xdt
new file mode 100644
index 0000000000..159bc8d646
--- /dev/null
+++ b/src/Installers/RuntimeSiteExtension/applicationHost.xdt
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Installers/RuntimeSiteExtension/install.cmd b/src/Installers/RuntimeSiteExtension/install.cmd
new file mode 100644
index 0000000000..bdca3efa75
--- /dev/null
+++ b/src/Installers/RuntimeSiteExtension/install.cmd
@@ -0,0 +1,16 @@
+FOR /R %%x IN (*.nupkg_) DO REN "%%x" "*.nupkg"
+
+
+SET DOTNET=D:\Program Files (x86)\dotnet
+SET RUNTIMES=%DOTNET%\shared\Microsoft.NETCore.App
+
+IF "%ASPNETCORE_COPY_EXISTING_RUNTIMES%" NEQ "1" EXIT /b 0
+
+robocopy "%DOTNET%" "." /E /XC /XN /XO /NFL /NDL ^
+ /XD "%DOTNET%\sdk" ^
+ /XD "%RUNTIMES%\1.0.8" ^
+ /XD "%RUNTIMES%\1.1.5" ^
+ /XD "%RUNTIMES%\2.0.3"
+
+IF %errorlevel% geq 8 EXIT /b 1
+EXIT /b 0
\ No newline at end of file
diff --git a/src/Installers/RuntimeSiteExtension/scmApplicationHost.xdt b/src/Installers/RuntimeSiteExtension/scmApplicationHost.xdt
new file mode 100644
index 0000000000..a8dd367f9f
--- /dev/null
+++ b/src/Installers/RuntimeSiteExtension/scmApplicationHost.xdt
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file