diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml
index 924012b0c9..6070086773 100644
--- a/.azure/pipelines/ci.yml
+++ b/.azure/pipelines/ci.yml
@@ -254,6 +254,38 @@ stages:
- name: Windows_arm_Packages
path: artifacts/packages/
+ # Build Windows ARM64
+ - template: jobs/default-build.yml
+ parameters:
+ codeSign: true
+ jobName: Windows_64_build
+ jobDisplayName: "Build: Windows ARM64"
+ agentOs: Windows
+ buildArgs:
+ -arch arm64
+ -sign
+ -pack
+ -noBuildNodeJS
+ -noBuildJava
+ /bl:artifacts/log/build.win-arm64.binlog
+ /p:DotNetSignType=$(_SignType)
+ /p:OnlyPackPlatformSpecificPackages=true
+ /p:AssetManifestFileName=aspnetcore-win-arm64.xml
+ $(_BuildArgs)
+ $(_PublishArgs)
+ $(_InternalRuntimeDownloadArgs)
+ 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/
+
# Build MacOS
- template: jobs/default-build.yml
parameters:
diff --git a/Directory.Build.props b/Directory.Build.props
index a2765ff560..c40d203441 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -123,6 +123,7 @@
win-x64;
win-x86;
win-arm;
+ win-arm64;
osx-x64;
linux-musl-x64;
linux-musl-arm64;
diff --git a/build.ps1 b/build.ps1
index 7ce1d87f58..f371d26673 100644
--- a/build.ps1
+++ b/build.ps1
@@ -118,7 +118,7 @@ param(
[ValidateSet('Debug', 'Release')]
$Configuration,
- [ValidateSet('x64', 'x86', 'arm')]
+ [ValidateSet('x64', 'x86', 'arm', 'arm64')]
$Architecture = 'x64',
# A list of projects which should be built.
@@ -157,7 +157,7 @@ param(
# Other lifecycle targets
[switch]$Help, # Show help
-
+
# Optional arguments that enable downloading an internal
# runtime or runtime from a non-default location
[string]$DotNetRuntimeSourceFeed,
diff --git a/eng/Dependencies.props b/eng/Dependencies.props
index 0603add6c3..6e8e7b9a8b 100644
--- a/eng/Dependencies.props
+++ b/eng/Dependencies.props
@@ -94,6 +94,7 @@ and are generated based on the last package release.
+
diff --git a/eng/Signing.props b/eng/Signing.props
index 3b61e9205f..024a5c8a0a 100644
--- a/eng/Signing.props
+++ b/eng/Signing.props
@@ -93,9 +93,11 @@
<_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-x64\shared\Microsoft.NETCore.App\**\*.dll" CertificateName="None" />
<_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-x86\shared\Microsoft.NETCore.App\**\*.dll" CertificateName="None" />
<_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-arm\shared\Microsoft.NETCore.App\**\*.dll" CertificateName="None" />
+ <_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-arm64\shared\Microsoft.NETCore.App\**\*.dll" CertificateName="None" />
<_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-x64\host\**\*.dll" CertificateName="None" />
<_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-x86\host\**\*.dll" CertificateName="None" />
<_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-arm\host\**\*.dll" CertificateName="None" />
+ <_DotNetFilesToExclude Include="$(BaseRedistNetCorePath)win-arm64\host\**\*.dll" CertificateName="None" />
<_DotNetFilesToExclude Include="$(RedistNetCorePath)dotnet.exe" CertificateName="None" />
diff --git a/src/Shared/E2ETesting/E2ETesting.props b/src/Shared/E2ETesting/E2ETesting.props
index 64e74c095e..0e6552e7ec 100644
--- a/src/Shared/E2ETesting/E2ETesting.props
+++ b/src/Shared/E2ETesting/E2ETesting.props
@@ -4,7 +4,7 @@
$(DefaultItemExcludes);node_modules\**
$([MSBuild]::NormalizeDirectory('$(ArtifactsTestResultsDir)','$(MSBuildProjectName)'))
$([MSBuild]::EnsureTrailingSlash('$(RepoRoot)'))artifacts\tmp\selenium\
- true
+ true
$([MSBuild]::NormalizePath($(MSBuildThisFileDirectory)selenium-config.json))