diff --git a/.azure/pipelines/helix-matrix.yml b/.azure/pipelines/helix-matrix.yml
index de615d9e345c..9889ca8ba7e4 100644
--- a/.azure/pipelines/helix-matrix.yml
+++ b/.azure/pipelines/helix-matrix.yml
@@ -58,6 +58,7 @@ jobs:
jobDisplayName: "Tests: Helix ARM64 matrix"
agentOs: Linux
timeoutInMinutes: 480
+ useHostedUbuntu: false
steps:
- script: ./eng/build.sh --ci --nobl --pack --arch arm64
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
@@ -69,7 +70,7 @@ jobs:
env:
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
- installNodeJs: false
+ installNodeJs: true
artifacts:
- name: Helix_arm64_logs
path: artifacts/log/
diff --git a/eng/Dependencies.props b/eng/Dependencies.props
index 3c867b050851..556b3c015ede 100644
--- a/eng/Dependencies.props
+++ b/eng/Dependencies.props
@@ -92,6 +92,14 @@ and are generated based on the last package release.
+
+
+
+
+
+
+
+
@@ -205,7 +213,7 @@ and are generated based on the last package release.
-->
$(MicrosoftNETCoreAppRuntimeVersion)
+ Condition=" $([System.String]::new('%(Identity)').StartsWith('Microsoft.NETCore.App.Runtime.')) or $([System.String]::new('%(Identity)').StartsWith('Microsoft.NETCore.App.Crossgen2.'))">$(MicrosoftNETCoreAppRuntimeVersion)
diff --git a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
index b8cade10283c..bb396494b2e2 100644
--- a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
+++ b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
@@ -42,10 +42,10 @@ This package is an internal implementation of the .NET Core SDK and is not meant
$(AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder);.map
-
+
true
-
+
true
false
@@ -80,34 +80,31 @@ This package is an internal implementation of the .NET Core SDK and is not meant
false
-
+
PerfMap
PDB
+
lib
- .so
- .dll
- .dylib
- .exe
-
- :
- %3B
-
- x64_arm
- x64_arm64
- x86_arm
-
-
- crossgen
- $(CrossgenToolFileName).exe
-
- $(CrossgenToolFileName)
-
- $(CrossCompileDirectory)\$(CrossgenToolPackagePath)
+
+
+ crossgen2
+ $(Crossgen2ToolFileName).exe
PkgMicrosoft_NETCore_App_Runtime_$(RuntimeIdentifier)
+
+ $(TargetOsName)
+ linux
+ PkgMicrosoft_NETCore_App_Crossgen2_$(BuildOsName)-$(BuildArchitecture)
+
$(AssetTargetFallback);native,Version=0.0
$(TargetArchitecture)
@@ -125,6 +122,15 @@ This package is an internal implementation of the .NET Core SDK and is not meant
PrivateAssets="All"
GeneratePathProperty="true" />
+
+
+
Platform=$(NativePlatform)
@@ -286,7 +292,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant
-
+
@@ -341,18 +347,24 @@ This package is an internal implementation of the .NET Core SDK and is not meant
$(%(Identity))
+
+
+ $(%(Identity))
+
@(RuntimePackageRootMapping->'%(RuntimePackageRoot)')
$([MSBuild]::EnsureTrailingSlash('$(RuntimePackageRoot)'))
+ @(Crossgen2PackageRootMapping->'%(Crossgen2PackageRoot)')
+ $([MSBuild]::EnsureTrailingSlash('$(Crossgen2PackageRoot)'))
@@ -362,11 +374,11 @@ This package is an internal implementation of the .NET Core SDK and is not meant
-
+
-
+
<_PlatformAssemblyPaths Include="$(CrossgenToolDir)" />
<_PlatformAssemblyPaths Include="@(ReferenceCopyLocalPaths->'%(RootDir)%(Directory)')" Condition="'%(ReferenceCopyLocalPaths.ProjectPath)' == ''"/>
@@ -375,54 +387,64 @@ This package is an internal implementation of the .NET Core SDK and is not meant
+
+ <_DistinctPlatformAssemblyPaths Include="@(_PlatformAssemblyPaths->Distinct())"/>
+ <_DistinctPlatformAssemblyPaths>
+ -r:%(Identity)*.dll
+
+
+
- $([System.IO.Path]::Combine('$(RuntimePackageRoot)', 'tools', '$(CrossgenToolPackagePath)'))
+ $([System.IO.Path]::Combine('$(Crossgen2PackageRoot)', 'tools', '$(Crossgen2ToolFileName)'))
$(TargetDir)
- @(_PlatformAssemblyPaths->Distinct(), '$(PathSeparator)')
$(TargetDir)\
- $(CrossgenPlatformAssemblyPaths)\
-
+
-
-
-
+
+
+
-
- $(RuntimePackageRoot)runtimes\$(RuntimeIdentifier)\native\$(LibPrefix)clrjit$(LibExtension)
- $(RuntimePackageRoot)runtimes\$(CrossCompileDirectory)\native\$(LibPrefix)clrjit$(LibExtension)
+
+ $(TargetOsName)
+ windows
+ linux
+
+
+ --targetarch:$(TargetArchitecture)
+ $(Crossgen2Args) --targetos:$(Crossgen2TargetOs)
+ $(Crossgen2Args) -O
+ $(Crossgen2Args) @"$(CrossgenToolDir)PlatformAssembliesPathsCrossgen2.rsp"
+ $(Crossgen2Args) "-m:$(RuntimePackageRoot)tools\StandardOptimizationData.mibc"
+ $(Crossgen2Args) --pdb --pdb-path:"$(CrossgenSymbolsTargetDir)"
+ $(Crossgen2Args) --perfmap --perfmap-path:"$(CrossgenSymbolsTargetDir)"
-
-
-
+