diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml
index 29333ca2053e..282c28d02ec9 100644
--- a/.azure/pipelines/ci.yml
+++ b/.azure/pipelines/ci.yml
@@ -151,12 +151,12 @@ stages:
publishOnError: true
includeForks: true
- # Build Windows (x64/x86)
+ # Build Windows (x64/x86/arm64)
- template: jobs/default-build.yml
parameters:
codeSign: true
jobName: Windows_build
- jobDisplayName: "Build: Windows x64/x86"
+ jobDisplayName: "Build: Windows x64/x86/arm64"
agentOs: Windows
steps:
- ${{ if notIn(variables['Build.Reason'], 'PullRequest') }}:
@@ -175,7 +175,7 @@ stages:
$(_BuildArgs)
$(_InternalRuntimeDownloadArgs)
$(Windows64LogArgs)
- displayName: Build x64
+ displayName: Build x64/arm64
# Build the x86 shared framework
# This is going to actually build x86 native assets.
@@ -193,6 +193,21 @@ stages:
$(Windows86LogArgs)
displayName: Build x86
+ # Build the arm64 shared framework
+ - script: ./eng/build.cmd
+ -ci
+ -arch arm64
+ -sign
+ -pack
+ -noBuildJava
+ -noBuildNative
+ /p:DotNetSignType=$(_SignType)
+ /p:OnlyPackPlatformSpecificPackages=true
+ $(_BuildArgs)
+ $(_InternalRuntimeDownloadArgs)
+ $(WindowsArm64LogArgs)
+ displayName: Build ARM64
+
# Submit a manual build (in public or internal project) to validate changes to site extensions.
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
- script: .\src\SiteExtensions\build.cmd
@@ -236,6 +251,22 @@ stages:
$(WindowsInstallersLogArgs)
displayName: Build Installers
+ # Windows installers bundle for arm64
+ - script: ./eng/build.cmd
+ -ci
+ -noBuildRepoTasks
+ -arch arm64
+ -sign
+ -buildInstallers
+ -noBuildNative
+ /p:DotNetSignType=$(_SignType)
+ /p:AssetManifestFileName=aspnetcore-win-arm64.xml
+ $(_BuildArgs)
+ $(_PublishArgs)
+ $(_InternalRuntimeDownloadArgs)
+ $(WindowsArm64InstallersLogArgs)
+ displayName: Build ARM64 Installers
+
# A few files must also go to the VS package feed.
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), ne(variables.PostBuildSign, 'true')) }}:
- task: NuGetCommand@2
@@ -300,66 +331,6 @@ stages:
- name: Windows_arm_SourceIndex
path: $(Build.ArtifactStagingDirectory)/sourceIndex/
- # Build Windows ARM64
- - template: jobs/default-build.yml
- parameters:
- codeSign: true
- jobName: Windows_arm64_build
- jobDisplayName: "Build: Windows ARM64"
- agentOs: Windows
- installNodeJs: false
- installJdk: false
- artifacts:
- - name: Windows_arm64_Logs
- path: artifacts/log/
- publishOnError: true
- includeForks: true
- - name: Windows_arm64_Packages
- path: artifacts/packages/
- - name: Windows_arm64_Installers
- path: artifacts/installers/
- steps:
- - script: ./eng/build.cmd
- -ci
- -arch arm64
- -sign
- -pack
- -noBuildJava
- -noBuildNative
- /p:DotNetSignType=$(_SignType)
- /p:OnlyPackPlatformSpecificPackages=true
- $(_BuildArgs)
- $(_InternalRuntimeDownloadArgs)
- $(WindowsArm64LogArgs)
- displayName: Build ARM64
-
- # Windows installers bundle for arm64
- - script: ./eng/build.cmd
- -ci
- -noBuildRepoTasks
- -arch arm64
- -sign
- -buildInstallers
- -noBuildNative
- /p:DotNetSignType=$(_SignType)
- /p:AssetManifestFileName=aspnetcore-win-arm64.xml
- $(_BuildArgs)
- $(_PublishArgs)
- $(_InternalRuntimeDownloadArgs)
- $(WindowsArm64InstallersLogArgs)
- displayName: Build Arm64 Installers
-
- # A few files must also go to the VS package feed.
- - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), ne(variables.PostBuildSign, 'true')) }}:
- - task: NuGetCommand@2
- displayName: Push Visual Studio packages
- inputs:
- command: push
- packagesToPush: 'artifacts/packages/**/VS.Redist.Common.AspNetCore.*.nupkg'
- nuGetFeedType: external
- publishFeedCredentials: 'DevDiv - VS package feed'
-
-
# Build MacOS arm64
- template: jobs/default-build.yml
parameters:
diff --git a/AspNetCore.sln b/AspNetCore.sln
index fe58cfff5cf3..6c25562d5d15 100644
--- a/AspNetCore.sln
+++ b/AspNetCore.sln
@@ -7526,15 +7526,15 @@ Global
{D07B2752-8919-4CFE-8438-DFAFE91A4AB0}.Release|x86.Build.0 = Release|x86
{65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Debug|Any CPU.ActiveCfg = Debug|x64
{65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Debug|Any CPU.Build.0 = Debug|x64
- {65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Debug|arm64.ActiveCfg = Debug|Any CPU
- {65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Debug|arm64.Build.0 = Debug|Any CPU
+ {65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Debug|arm64.ActiveCfg = Debug|ARM64
+ {65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Debug|arm64.Build.0 = Debug|ARM64
{65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Debug|x64.ActiveCfg = Debug|Any CPU
{65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Debug|x64.Build.0 = Debug|Any CPU
{65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Debug|x86.ActiveCfg = Debug|x86
{65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Debug|x86.Build.0 = Debug|x86
{65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Release|Any CPU.ActiveCfg = Release|x64
{65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Release|Any CPU.Build.0 = Release|x64
- {65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Release|arm64.ActiveCfg = Release|x86
+ {65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Release|arm64.ActiveCfg = Release|ARM64
{65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Release|x64.ActiveCfg = Release|x64
{65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Release|x64.Build.0 = Release|x64
{65EC29AD-91CA-49BA-B1FC-D3DF127BE887}.Release|x86.ActiveCfg = Release|x86
@@ -8110,8 +8110,8 @@ Global
{8DA61885-B95E-4BA1-A752-C79B6597FC44}.Release|x86.Build.0 = Release|x86
{EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Debug|Any CPU.ActiveCfg = Debug|x64
{EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Debug|Any CPU.Build.0 = Debug|x64
- {EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Debug|arm64.ActiveCfg = Debug|Any CPU
- {EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Debug|arm64.Build.0 = Debug|Any CPU
+ {EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Debug|arm64.ActiveCfg = Debug|ARM64
+ {EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Debug|arm64.Build.0 = Debug|ARM64
{EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Debug|x64.ActiveCfg = Debug|x64
{EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Debug|x64.Build.0 = Debug|x64
{EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Debug|x86.ActiveCfg = Debug|Win32
@@ -8119,8 +8119,8 @@ Global
{EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Debug|x86.Deploy.0 = Debug|Win32
{EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Release|Any CPU.ActiveCfg = Release|x64
{EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Release|Any CPU.Build.0 = Release|x64
- {EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Release|arm64.ActiveCfg = Release|Any CPU
- {EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Release|arm64.Build.0 = Release|Any CPU
+ {EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Release|arm64.ActiveCfg = Release|ARM64
+ {EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Release|arm64.Build.0 = Release|ARM64
{EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Release|x64.ActiveCfg = Release|x64
{EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Release|x64.Build.0 = Release|x64
{EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Release|x86.ActiveCfg = Release|Win32
@@ -8128,8 +8128,8 @@ Global
{EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}.Release|x86.Deploy.0 = Release|Win32
{55494E58-E061-4C4C-A0A8-837008E72F85}.Debug|Any CPU.ActiveCfg = Debug|x64
{55494E58-E061-4C4C-A0A8-837008E72F85}.Debug|Any CPU.Build.0 = Debug|x64
- {55494E58-E061-4C4C-A0A8-837008E72F85}.Debug|arm64.ActiveCfg = Debug|Any CPU
- {55494E58-E061-4C4C-A0A8-837008E72F85}.Debug|arm64.Build.0 = Debug|Any CPU
+ {55494E58-E061-4C4C-A0A8-837008E72F85}.Debug|arm64.ActiveCfg = Debug|ARM64
+ {55494E58-E061-4C4C-A0A8-837008E72F85}.Debug|arm64.Build.0 = Debug|ARM64
{55494E58-E061-4C4C-A0A8-837008E72F85}.Debug|x64.ActiveCfg = Debug|x64
{55494E58-E061-4C4C-A0A8-837008E72F85}.Debug|x64.Build.0 = Debug|x64
{55494E58-E061-4C4C-A0A8-837008E72F85}.Debug|x86.ActiveCfg = Debug|Win32
@@ -8146,8 +8146,8 @@ Global
{55494E58-E061-4C4C-A0A8-837008E72F85}.Release|x86.Deploy.0 = Release|Win32
{1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Debug|Any CPU.ActiveCfg = Debug|x64
{1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Debug|Any CPU.Build.0 = Debug|x64
- {1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Debug|arm64.ActiveCfg = Debug|Any CPU
- {1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Debug|arm64.Build.0 = Debug|Any CPU
+ {1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Debug|arm64.ActiveCfg = Debug|ARM64
+ {1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Debug|arm64.Build.0 = Debug|ARM64
{1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Debug|x64.ActiveCfg = Debug|x64
{1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Debug|x64.Build.0 = Debug|x64
{1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Debug|x86.ActiveCfg = Debug|Win32
@@ -8155,8 +8155,8 @@ Global
{1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Debug|x86.Deploy.0 = Debug|Win32
{1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Release|Any CPU.ActiveCfg = Release|x64
{1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Release|Any CPU.Build.0 = Release|x64
- {1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Release|arm64.ActiveCfg = Release|Any CPU
- {1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Release|arm64.Build.0 = Release|Any CPU
+ {1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Release|arm64.ActiveCfg = Release|ARM64
+ {1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Release|arm64.Build.0 = Release|ARM64
{1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Release|x64.ActiveCfg = Release|x64
{1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Release|x64.Build.0 = Release|x64
{1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Release|x86.ActiveCfg = Release|Win32
@@ -8164,8 +8164,8 @@ Global
{1EAC8125-1765-4E2D-8CBE-56DC98A1C8C1}.Release|x86.Deploy.0 = Release|Win32
{CAC1267B-8778-4257-AAC6-CAF481723B01}.Debug|Any CPU.ActiveCfg = Debug|x64
{CAC1267B-8778-4257-AAC6-CAF481723B01}.Debug|Any CPU.Build.0 = Debug|x64
- {CAC1267B-8778-4257-AAC6-CAF481723B01}.Debug|arm64.ActiveCfg = Debug|Any CPU
- {CAC1267B-8778-4257-AAC6-CAF481723B01}.Debug|arm64.Build.0 = Debug|Any CPU
+ {CAC1267B-8778-4257-AAC6-CAF481723B01}.Debug|arm64.ActiveCfg = Debug|ARM64
+ {CAC1267B-8778-4257-AAC6-CAF481723B01}.Debug|arm64.Build.0 = Debug|ARM64
{CAC1267B-8778-4257-AAC6-CAF481723B01}.Debug|x64.ActiveCfg = Debug|x64
{CAC1267B-8778-4257-AAC6-CAF481723B01}.Debug|x64.Build.0 = Debug|x64
{CAC1267B-8778-4257-AAC6-CAF481723B01}.Debug|x86.ActiveCfg = Debug|Win32
@@ -8173,8 +8173,8 @@ Global
{CAC1267B-8778-4257-AAC6-CAF481723B01}.Debug|x86.Deploy.0 = Debug|Win32
{CAC1267B-8778-4257-AAC6-CAF481723B01}.Release|Any CPU.ActiveCfg = Release|x64
{CAC1267B-8778-4257-AAC6-CAF481723B01}.Release|Any CPU.Build.0 = Release|x64
- {CAC1267B-8778-4257-AAC6-CAF481723B01}.Release|arm64.ActiveCfg = Release|Any CPU
- {CAC1267B-8778-4257-AAC6-CAF481723B01}.Release|arm64.Build.0 = Release|Any CPU
+ {CAC1267B-8778-4257-AAC6-CAF481723B01}.Release|arm64.ActiveCfg = Release|ARM64
+ {CAC1267B-8778-4257-AAC6-CAF481723B01}.Release|arm64.Build.0 = Release|ARM64
{CAC1267B-8778-4257-AAC6-CAF481723B01}.Release|x64.ActiveCfg = Release|x64
{CAC1267B-8778-4257-AAC6-CAF481723B01}.Release|x64.Build.0 = Release|x64
{CAC1267B-8778-4257-AAC6-CAF481723B01}.Release|x86.ActiveCfg = Release|Win32
@@ -8182,8 +8182,8 @@ Global
{CAC1267B-8778-4257-AAC6-CAF481723B01}.Release|x86.Deploy.0 = Release|Win32
{09D9D1D6-2951-4E14-BC35-76A23CF9391A}.Debug|Any CPU.ActiveCfg = Debug|x64
{09D9D1D6-2951-4E14-BC35-76A23CF9391A}.Debug|Any CPU.Build.0 = Debug|x64
- {09D9D1D6-2951-4E14-BC35-76A23CF9391A}.Debug|arm64.ActiveCfg = Debug|Any CPU
- {09D9D1D6-2951-4E14-BC35-76A23CF9391A}.Debug|arm64.Build.0 = Debug|Any CPU
+ {09D9D1D6-2951-4E14-BC35-76A23CF9391A}.Debug|arm64.ActiveCfg = Debug|ARM64
+ {09D9D1D6-2951-4E14-BC35-76A23CF9391A}.Debug|arm64.Build.0 = Debug|ARM64
{09D9D1D6-2951-4E14-BC35-76A23CF9391A}.Debug|x64.ActiveCfg = Debug|x64
{09D9D1D6-2951-4E14-BC35-76A23CF9391A}.Debug|x64.Build.0 = Debug|x64
{09D9D1D6-2951-4E14-BC35-76A23CF9391A}.Debug|x86.ActiveCfg = Debug|Win32
@@ -8200,8 +8200,8 @@ Global
{09D9D1D6-2951-4E14-BC35-76A23CF9391A}.Release|x86.Deploy.0 = Release|Win32
{D57EA297-6DC2-4BC0-8C91-334863327863}.Debug|Any CPU.ActiveCfg = Debug|x64
{D57EA297-6DC2-4BC0-8C91-334863327863}.Debug|Any CPU.Build.0 = Debug|x64
- {D57EA297-6DC2-4BC0-8C91-334863327863}.Debug|arm64.ActiveCfg = Debug|Any CPU
- {D57EA297-6DC2-4BC0-8C91-334863327863}.Debug|arm64.Build.0 = Debug|Any CPU
+ {D57EA297-6DC2-4BC0-8C91-334863327863}.Debug|arm64.ActiveCfg = Debug|ARM64
+ {D57EA297-6DC2-4BC0-8C91-334863327863}.Debug|arm64.Build.0 = Debug|ARM64
{D57EA297-6DC2-4BC0-8C91-334863327863}.Debug|x64.ActiveCfg = Debug|x64
{D57EA297-6DC2-4BC0-8C91-334863327863}.Debug|x64.Build.0 = Debug|x64
{D57EA297-6DC2-4BC0-8C91-334863327863}.Debug|x86.ActiveCfg = Debug|Win32
@@ -8218,8 +8218,8 @@ Global
{D57EA297-6DC2-4BC0-8C91-334863327863}.Release|x86.Deploy.0 = Release|Win32
{7F87406C-A3C8-4139-A68D-E4C344294A67}.Debug|Any CPU.ActiveCfg = Debug|x64
{7F87406C-A3C8-4139-A68D-E4C344294A67}.Debug|Any CPU.Build.0 = Debug|x64
- {7F87406C-A3C8-4139-A68D-E4C344294A67}.Debug|arm64.ActiveCfg = Debug|Any CPU
- {7F87406C-A3C8-4139-A68D-E4C344294A67}.Debug|arm64.Build.0 = Debug|Any CPU
+ {7F87406C-A3C8-4139-A68D-E4C344294A67}.Debug|arm64.ActiveCfg = Debug|ARM64
+ {7F87406C-A3C8-4139-A68D-E4C344294A67}.Debug|arm64.Build.0 = Debug|ARM64
{7F87406C-A3C8-4139-A68D-E4C344294A67}.Debug|x64.ActiveCfg = Debug|x64
{7F87406C-A3C8-4139-A68D-E4C344294A67}.Debug|x64.Build.0 = Debug|x64
{7F87406C-A3C8-4139-A68D-E4C344294A67}.Debug|x86.ActiveCfg = Debug|Win32
@@ -8236,8 +8236,8 @@ Global
{7F87406C-A3C8-4139-A68D-E4C344294A67}.Release|x86.Deploy.0 = Release|Win32
{1533E271-F61B-441B-8B74-59FB61DF0552}.Debug|Any CPU.ActiveCfg = Debug|x64
{1533E271-F61B-441B-8B74-59FB61DF0552}.Debug|Any CPU.Build.0 = Debug|x64
- {1533E271-F61B-441B-8B74-59FB61DF0552}.Debug|arm64.ActiveCfg = Debug|Any CPU
- {1533E271-F61B-441B-8B74-59FB61DF0552}.Debug|arm64.Build.0 = Debug|Any CPU
+ {1533E271-F61B-441B-8B74-59FB61DF0552}.Debug|arm64.ActiveCfg = Debug|ARM64
+ {1533E271-F61B-441B-8B74-59FB61DF0552}.Debug|arm64.Build.0 = Debug|ARM64
{1533E271-F61B-441B-8B74-59FB61DF0552}.Debug|x64.ActiveCfg = Debug|x64
{1533E271-F61B-441B-8B74-59FB61DF0552}.Debug|x64.Build.0 = Debug|x64
{1533E271-F61B-441B-8B74-59FB61DF0552}.Debug|x86.ActiveCfg = Debug|Win32
diff --git a/Directory.Build.props b/Directory.Build.props
index e4139483ccc5..e100d883e9b1 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -224,8 +224,8 @@
$(MSBuildThisFileDirectory)src\Mvc\Mvc.Testing\src\Microsoft.AspNetCore.Mvc.Testing.targets
<_MvcTestingTasksAssembly>$(ArtifactsBinDir)\Microsoft.AspNetCore.Mvc.Testing.Tasks\$(Configuration)\netstandard2.0\Microsoft.AspNetCore.Mvc.Testing.Tasks.dll
-
- true
+
+ true
$(ArtifactsObjDir)TargetingPack.Layout\$(Configuration)\
diff --git a/eng/Build.props b/eng/Build.props
index 775c67197032..ed25e877f129 100644
--- a/eng/Build.props
+++ b/eng/Build.props
@@ -105,8 +105,9 @@
+
-
+
diff --git a/eng/targets/Cpp.Common.props b/eng/targets/Cpp.Common.props
index 782441b4d418..b11c00f03ec4 100644
--- a/eng/targets/Cpp.Common.props
+++ b/eng/targets/Cpp.Common.props
@@ -9,6 +9,12 @@
$(IntermediateOutputPath)
+
+
+ true
+ You cannot test native ARM64 projects on a x86/x64 machine
+
+
diff --git a/eng/targets/Cpp.Common.targets b/eng/targets/Cpp.Common.targets
index d352173de37f..d85bddec43af 100644
--- a/eng/targets/Cpp.Common.targets
+++ b/eng/targets/Cpp.Common.targets
@@ -11,7 +11,7 @@
-
+
diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/ANCMIISExpressV2/AncmIISExpressV2.wixproj b/src/Installers/Windows/AspNetCoreModule-Setup/ANCMIISExpressV2/AncmIISExpressV2.wixproj
index 04f70e784cb0..fc9de94854d8 100644
--- a/src/Installers/Windows/AspNetCoreModule-Setup/ANCMIISExpressV2/AncmIISExpressV2.wixproj
+++ b/src/Installers/Windows/AspNetCoreModule-Setup/ANCMIISExpressV2/AncmIISExpressV2.wixproj
@@ -13,6 +13,7 @@
2.0
x64
Win32
+ ARM64
@@ -47,6 +48,7 @@
aspnetcoreCA
Platform=Win32
+ Platform=ARM64
{7c27e72f-54d0-4820-8cfa-5e4be640974b}
True
True
diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/AncmV2.wixproj b/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/AncmV2.wixproj
index ecc897c78b3d..940e56befa85 100644
--- a/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/AncmV2.wixproj
+++ b/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/AncmV2.wixproj
@@ -45,6 +45,7 @@
aspnetcoreCA
Platform=Win32
+ Platform=ARM64
{7c27e72f-54d0-4820-8cfa-5e4be640974b}
True
True
diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/CustomAction/aspnetcoreCA.vcxproj b/src/Installers/Windows/AspNetCoreModule-Setup/CustomAction/aspnetcoreCA.vcxproj
index 6fea1a5c0f8d..db4d7035c813 100644
--- a/src/Installers/Windows/AspNetCoreModule-Setup/CustomAction/aspnetcoreCA.vcxproj
+++ b/src/Installers/Windows/AspNetCoreModule-Setup/CustomAction/aspnetcoreCA.vcxproj
@@ -15,6 +15,14 @@
+
+ Debug
+ ARM64
+
+
+ Release
+ ARM64
+
Debug
Win32
diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/IIS-Common/lib/IISSetup.CommonLib.vcxproj b/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/IIS-Common/lib/IISSetup.CommonLib.vcxproj
index 08403fc70aac..1d0330550a8d 100644
--- a/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/IIS-Common/lib/IISSetup.CommonLib.vcxproj
+++ b/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/IIS-Common/lib/IISSetup.CommonLib.vcxproj
@@ -4,6 +4,14 @@
+
+ Debug
+ ARM64
+
+
+ Release
+ ARM64
+
Debug
Win32
diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/IIS-Common/reftrace/reftrace.vcxproj b/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/IIS-Common/reftrace/reftrace.vcxproj
index e15fd87b8c15..deb96eb3dfa7 100644
--- a/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/IIS-Common/reftrace/reftrace.vcxproj
+++ b/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/IIS-Common/reftrace/reftrace.vcxproj
@@ -3,6 +3,14 @@
+
+ Debug
+ ARM64
+
+
+ Release
+ ARM64
+
Debug
Win32
diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/iisca/lib/iisca.vcxproj b/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/iisca/lib/iisca.vcxproj
index fa40ba039415..0b15cf6df931 100644
--- a/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/iisca/lib/iisca.vcxproj
+++ b/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/iisca/lib/iisca.vcxproj
@@ -3,6 +3,14 @@
+
+ Debug
+ ARM64
+
+
+ Release
+ ARM64
+
Debug
Win32
@@ -116,6 +124,11 @@
MachineX86
+
+
+ $(VC_ReferencesPath_ARM64);$(WindowsSDK_LibraryPath)\$(PlatformTarget);$(WIX)sdk\$(WixPlatformToolset)\lib\arm64;%(AdditionalLibraryDirectories)
+
+
$(VC_ReferencesPath_x64);$(WindowsSDK_LibraryPath)\$(PlatformTarget);$(WIX)sdk\$(WixPlatformToolset)\lib\x64;%(AdditionalLibraryDirectories)
diff --git a/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/include.wxi b/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/include.wxi
index e22cdce8a41d..c7ea5b9cbf12 100644
--- a/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/include.wxi
+++ b/src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/include.wxi
@@ -23,6 +23,12 @@
+
+
+
+
+
+
diff --git a/src/Servers/IIS/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj b/src/Servers/IIS/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj
index e9ef91dd35e5..542669fdaa9a 100644
--- a/src/Servers/IIS/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj
+++ b/src/Servers/IIS/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj
@@ -9,6 +9,10 @@
Debug
x64
+
+ Debug
+ ARM64
+
Debug
x64
@@ -21,6 +25,10 @@
Release
x64
+
+ Release
+ ARM64
+
Release
x64
@@ -43,26 +51,13 @@
-
+
DynamicLibrary
true
$(PlatformToolsetVersion)
Unicode
-
- DynamicLibrary
- true
- $(PlatformToolsetVersion)
- Unicode
-
-
- DynamicLibrary
- false
- $(PlatformToolsetVersion)
- true
- Unicode
-
-
+
DynamicLibrary
false
$(PlatformToolsetVersion)
@@ -122,7 +117,7 @@
..\Commonlib
-
+
Level4
Disabled
@@ -198,7 +193,7 @@
..\Commonlib
-
+
Level4
NotUsing
diff --git a/src/Servers/IIS/AspNetCoreModuleV2/CommonLib/CommonLib.vcxproj b/src/Servers/IIS/AspNetCoreModuleV2/CommonLib/CommonLib.vcxproj
index b1a01e217205..91481db732ce 100644
--- a/src/Servers/IIS/AspNetCoreModuleV2/CommonLib/CommonLib.vcxproj
+++ b/src/Servers/IIS/AspNetCoreModuleV2/CommonLib/CommonLib.vcxproj
@@ -9,6 +9,10 @@
Debug
x64
+
+ Debug
+ ARM64
+
Debug
x64
@@ -21,6 +25,10 @@
Release
x64
+
+ Release
+ ARM64
+
Release
x64
@@ -53,13 +61,13 @@
true
Unicode
-
+
StaticLibrary
true
$(PlatformToolsetVersion)
Unicode
-
+
StaticLibrary
false
$(PlatformToolsetVersion)
@@ -105,7 +113,7 @@
true
-
+
Use
Level4
@@ -158,7 +166,7 @@
true
-
+
Use
Level4
diff --git a/src/Servers/IIS/AspNetCoreModuleV2/CommonLibTests/CommonLibTests.vcxproj b/src/Servers/IIS/AspNetCoreModuleV2/CommonLibTests/CommonLibTests.vcxproj
index 4542c713334f..dc0fcfef07ed 100644
--- a/src/Servers/IIS/AspNetCoreModuleV2/CommonLibTests/CommonLibTests.vcxproj
+++ b/src/Servers/IIS/AspNetCoreModuleV2/CommonLibTests/CommonLibTests.vcxproj
@@ -11,6 +11,10 @@
Debug
x64
+
+ Debug
+ ARM64
+
Debug
x64
@@ -23,6 +27,10 @@
Release
x64
+
+ Release
+ ARM64
+
Release
x64
@@ -155,6 +163,34 @@
+
+
+ NotUsing
+ Disabled
+ X64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pch
+ stdafx.h
+ EnableFastChecks
+ MultiThreadedDebug
+ Level3
+ true
+ $(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories);..\RequestHandlerLib;..\IISLib;..\CommonLib;$(GoogleTestSubmoduleRoot)googletest\include;$(GoogleTestSubmoduleRoot)googlemock\include;...\AspNetCore\Inc;..\InProcessRequestHandler\
+ /D "_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
+ stdcpp17
+ true
+
+
+ true
+ Console
+ $(ArtifactsObjDir)InProcessRequestHandler\ARM64\$(Configuration)\;
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;inprocessapplication.obj;inprocesshandler.obj;ahadmin.lib;Rpcrt4.lib;inprocessapplicationbase.obj;stdafx.obj;version.lib;inprocessoptions.obj;%(AdditionalDependencies)
+ UseLinkTimeCodeGeneration
+
+
+
+
+
+
NotUsing
@@ -215,4 +251,34 @@
+
+
+ NotUsing
+ X64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pch
+ stdafx.h
+ MultiThreaded
+ Level3
+ true
+ ProgramDatabase
+ $(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories);..\RequestHandlerLib;..\IISLib;..\CommonLib;$(GoogleTestSubmoduleRoot)googletest\include;$(GoogleTestSubmoduleRoot)googlemock\include;...\AspNetCore\Inc;..\InProcessRequestHandler\
+ /D "_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
+ stdcpp17
+ true
+
+
+ true
+ Console
+ /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
+ true
+ true
+ $(ArtifactsObjDir)InProcessRequestHandler\ARM64\$(Configuration)\;
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;inprocessapplication.obj;inprocesshandler.obj;ahadmin.lib;Rpcrt4.lib;inprocessapplicationbase.obj;stdafx.obj;version.lib;inprocessoptions.obj;%(AdditionalDependencies)
+ UseLinkTimeCodeGeneration
+
+
+
+
+
+
diff --git a/src/Servers/IIS/AspNetCoreModuleV2/IISLib/IISLib.vcxproj b/src/Servers/IIS/AspNetCoreModuleV2/IISLib/IISLib.vcxproj
index 4afa15048c7e..dfcdd0497b08 100644
--- a/src/Servers/IIS/AspNetCoreModuleV2/IISLib/IISLib.vcxproj
+++ b/src/Servers/IIS/AspNetCoreModuleV2/IISLib/IISLib.vcxproj
@@ -9,6 +9,10 @@
Debug
x64
+
+ Debug
+ ARM64
+
Debug
x64
@@ -21,6 +25,10 @@
Release
x64
+
+ Release
+ ARM64
+
Release
x64
@@ -46,7 +54,7 @@
$(PlatformToolsetVersion)
Unicode
-
+
StaticLibrary
true
$(PlatformToolsetVersion)
@@ -59,7 +67,7 @@
true
Unicode
-
+
StaticLibrary
false
$(PlatformToolsetVersion)
@@ -73,26 +81,7 @@
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
- true
- ProgramDatabase
- MultiThreadedDebug
- false
- true
- true
-
-
- Windows
- true
-
-
-
+
@@ -111,30 +100,7 @@
true
-
-
- Level3
-
-
- MaxSpeed
- true
- true
- WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
- true
- MultiThreaded
- false
- true
- true
-
-
- Windows
- true
- true
- /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
- true
-
-
-
+
Level3
diff --git a/src/Servers/IIS/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRequestHandler.vcxproj b/src/Servers/IIS/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRequestHandler.vcxproj
index b07df421f805..582c48ad9dd4 100644
--- a/src/Servers/IIS/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRequestHandler.vcxproj
+++ b/src/Servers/IIS/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRequestHandler.vcxproj
@@ -10,6 +10,10 @@
Debug
x64
+
+ Debug
+ ARM64
+
Debug
x64
@@ -22,6 +26,10 @@
Release
x64
+
+ Release
+ ARM64
+
Release
x64
@@ -55,13 +63,13 @@
true
Unicode
-
+
DynamicLibrary
true
$(PlatformToolsetVersion)
Unicode
-
+
DynamicLibrary
false
$(PlatformToolsetVersion)
@@ -117,7 +125,7 @@
UseLinkTimeCodeGeneration
-
+
Use
Level4
@@ -188,7 +196,7 @@
UseLinkTimeCodeGeneration
-
+
Level4
Use
diff --git a/src/Servers/IIS/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj b/src/Servers/IIS/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj
index 23d655bf9596..6852e319039e 100644
--- a/src/Servers/IIS/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj
+++ b/src/Servers/IIS/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj
@@ -10,6 +10,10 @@
Debug
x64
+
+ Debug
+ ARM64
+
Debug
x64
@@ -22,6 +26,10 @@
Release
x64
+
+ Release
+ ARM64
+
Release
x64
@@ -55,13 +63,13 @@
true
Unicode
-
+
DynamicLibrary
true
$(PlatformToolsetVersion)
Unicode
-
+
DynamicLibrary
false
$(PlatformToolsetVersion)
@@ -117,7 +125,7 @@
UseLinkTimeCodeGeneration
-
+
Use
Level4
@@ -188,7 +196,7 @@
UseLinkTimeCodeGeneration
-
+
Level4
Use
diff --git a/src/Servers/IIS/AspNetCoreModuleV2/RequestHandlerLib/RequestHandlerLib.vcxproj b/src/Servers/IIS/AspNetCoreModuleV2/RequestHandlerLib/RequestHandlerLib.vcxproj
index 8168f9e547be..da17021d66d5 100644
--- a/src/Servers/IIS/AspNetCoreModuleV2/RequestHandlerLib/RequestHandlerLib.vcxproj
+++ b/src/Servers/IIS/AspNetCoreModuleV2/RequestHandlerLib/RequestHandlerLib.vcxproj
@@ -9,6 +9,10 @@
Debug
x64
+
+ Debug
+ ARM64
+
Debug
x64
@@ -21,6 +25,10 @@
Release
x64
+
+ Release
+ ARM64
+
Release
x64
@@ -53,13 +61,13 @@
true
Unicode
-
+
StaticLibrary
true
$(PlatformToolsetVersion)
Unicode
-
+
StaticLibrary
false
$(PlatformToolsetVersion)
@@ -104,7 +112,7 @@
true
-
+
NotUsing
Level4
@@ -155,7 +163,7 @@
true
-
+
NotUsing
Level4
diff --git a/src/Servers/IIS/AspNetCoreModuleV2/gtest/gtest.vcxproj b/src/Servers/IIS/AspNetCoreModuleV2/gtest/gtest.vcxproj
index 016d4f6c4c58..10a02840f316 100644
--- a/src/Servers/IIS/AspNetCoreModuleV2/gtest/gtest.vcxproj
+++ b/src/Servers/IIS/AspNetCoreModuleV2/gtest/gtest.vcxproj
@@ -8,6 +8,10 @@
Debug
x64
+
+ Debug
+ ARM64
+
Debug
x64
@@ -20,6 +24,10 @@
Release
x64
+
+ Release
+ ARM64
+
Release
x64
@@ -58,14 +66,14 @@
Unicode
gtest
-
+
StaticLibrary
true
$(PlatformToolsetVersion)
Unicode
gtestd
-
+
StaticLibrary
false
$(PlatformToolsetVersion)
@@ -110,7 +118,7 @@
true
-
+
NotUsing
Level3
@@ -149,7 +157,7 @@
true
-
+
NotUsing
Level3
diff --git a/src/Servers/IIS/IIS/src/Microsoft.AspNetCore.Server.IIS.csproj b/src/Servers/IIS/IIS/src/Microsoft.AspNetCore.Server.IIS.csproj
index b575db4f9f1c..c4eb83186d53 100644
--- a/src/Servers/IIS/IIS/src/Microsoft.AspNetCore.Server.IIS.csproj
+++ b/src/Servers/IIS/IIS/src/Microsoft.AspNetCore.Server.IIS.csproj
@@ -36,6 +36,7 @@
+
diff --git a/src/Servers/IIS/build/assets.props b/src/Servers/IIS/build/assets.props
index 950a773257e1..0b42276a1203 100644
--- a/src/Servers/IIS/build/assets.props
+++ b/src/Servers/IIS/build/assets.props
@@ -11,217 +11,295 @@
+
+
+
+
+
+
- $(ArtifactsBinDir)AspNetCoreModuleShim\$(NativeVCPlatform)\$(Configuration)\aspnetcorev2.dll
- $(ArtifactsBinDir)InProcessRequestHandler\$(NativeVCPlatform)\$(Configuration)\aspnetcorev2_inprocess.dll
+ $(ArtifactsBinDir)AspNetCoreModuleShim\$(NativeVCPlatform)\$(Configuration)\aspnetcorev2.dll
+ $(ArtifactsBinDir)InProcessRequestHandler\$(NativeVCPlatform)\$(Configuration)\aspnetcorev2_inprocess.dll
$(ArtifactsBinDir)OutOfProcessRequestHandler\$(NativeVCPlatform)\$(Configuration)\aspnetcorev2_outofprocess.dll
diff --git a/src/Servers/IIS/tools/GenerateNativeAssets.ps1 b/src/Servers/IIS/tools/GenerateNativeAssets.ps1
index 20c28ae8ae2b..86324c6096ba 100644
--- a/src/Servers/IIS/tools/GenerateNativeAssets.ps1
+++ b/src/Servers/IIS/tools/GenerateNativeAssets.ps1
@@ -5,6 +5,10 @@ $platforms = @(
Platform = "x64";
VCPlatform = "x64";
},
+ @{
+ Platform = "ARM64";
+ VCPlatform = "ARM64";
+ },
@{
Platform = "x86";
VCPlatform = "Win32";