diff --git a/eng/clipack/Aspire.Cli.linux-arm64.csproj b/eng/clipack/Aspire.Cli.linux-arm64.csproj
index 8e7b943ff34..3fccfe805ba 100644
--- a/eng/clipack/Aspire.Cli.linux-arm64.csproj
+++ b/eng/clipack/Aspire.Cli.linux-arm64.csproj
@@ -2,10 +2,10 @@
linux-arm64
Unix
-
- false
+
+
+ ELF 64-bit LSB pie executable, ARM aarch64,.*/ld-linux-aarch64\.so
-
diff --git a/eng/clipack/Aspire.Cli.linux-musl-x64.csproj b/eng/clipack/Aspire.Cli.linux-musl-x64.csproj
index 305941a93c9..d9661db847b 100644
--- a/eng/clipack/Aspire.Cli.linux-musl-x64.csproj
+++ b/eng/clipack/Aspire.Cli.linux-musl-x64.csproj
@@ -2,8 +2,9 @@
linux-musl-x64
Unix
-
- false
+
+
+ ELF 64-bit LSB pie executable, x86-64,.*/ld-musl-x86_64\.so
diff --git a/eng/clipack/Aspire.Cli.linux-x64.csproj b/eng/clipack/Aspire.Cli.linux-x64.csproj
index 4f92edf58fd..1f73a676ddf 100644
--- a/eng/clipack/Aspire.Cli.linux-x64.csproj
+++ b/eng/clipack/Aspire.Cli.linux-x64.csproj
@@ -2,6 +2,9 @@
linux-x64
Unix
+
+
+ ELF 64-bit LSB pie executable, x86-64,.*/ld-linux-x86-64\.so
diff --git a/eng/clipack/Aspire.Cli.osx-arm64.csproj b/eng/clipack/Aspire.Cli.osx-arm64.csproj
index fddaf81731f..145344e8ef4 100644
--- a/eng/clipack/Aspire.Cli.osx-arm64.csproj
+++ b/eng/clipack/Aspire.Cli.osx-arm64.csproj
@@ -2,8 +2,10 @@
osx-arm64
Unix
+
+
+ Mach-O 64-bit executable arm64
-
diff --git a/eng/clipack/Aspire.Cli.osx-x64.csproj b/eng/clipack/Aspire.Cli.osx-x64.csproj
index 22d55dda09e..f78a04eae67 100644
--- a/eng/clipack/Aspire.Cli.osx-x64.csproj
+++ b/eng/clipack/Aspire.Cli.osx-x64.csproj
@@ -2,6 +2,9 @@
osx-x64
Unix
+
+
+ Mach-O 64-bit executable x86_64
diff --git a/eng/clipack/Common.projitems b/eng/clipack/Common.projitems
index 3773833ecf4..89ec1f2e9b6 100644
--- a/eng/clipack/Common.projitems
+++ b/eng/clipack/Common.projitems
@@ -11,13 +11,33 @@
true
true
true
+
+
+ <_CheckFileSignature Condition="'$(PublishNativeAot)' == 'true' and !$([System.OperatingSystem]::IsWindows())">true
+
+ <_NativeBinaryPath>$([MSBuild]::NormalizePath($(OutputPath), 'aspire'))
+ <_NativeBinaryPath Condition="$(CliRuntime.StartsWith('win-'))">$(_NativeBinaryPath).exe
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -49,17 +69,20 @@
Properties="@(AdditionalProperties)"
RemoveProperties="OutputPath;TargetFramework" />
-
- <_OutputBinaryPath>$(OutputPath)/aspire
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
diff --git a/eng/pipelines/azure-pipelines.yml b/eng/pipelines/azure-pipelines.yml
index 166a4c46ad0..8a638801dad 100644
--- a/eng/pipelines/azure-pipelines.yml
+++ b/eng/pipelines/azure-pipelines.yml
@@ -81,10 +81,6 @@ variables:
value: true
resources:
- containers:
- - container: LinuxContainer
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm
-
repositories:
- repository: 1ESPipelineTemplates
type: git
@@ -109,6 +105,22 @@ extends:
enabled: true
customBuildTags:
- ES365AIMigrationTooling
+ containers:
+ linux_x64:
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-amd64
+ env:
+ SysRoot: /crossrootfs/x64
+ LinkerFlavor: lld
+ linux_arm64:
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-arm64
+ env:
+ SysRoot: /crossrootfs/arm64
+ LinkerFlavor: lld
+ linux_musl_x64:
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-amd64-musl
+ env:
+ SysRoot: /crossrootfs/x64
+ LinkerFlavor: lld
stages:
diff --git a/eng/pipelines/templates/build_sign_native.yml b/eng/pipelines/templates/build_sign_native.yml
index e55bd6b4007..dbb6b2937e5 100644
--- a/eng/pipelines/templates/build_sign_native.yml
+++ b/eng/pipelines/templates/build_sign_native.yml
@@ -17,6 +17,7 @@ jobs:
enableTelemetry: true
# Publish build logs
enablePublishBuildArtifacts: true
+ container: ${{ replace(targetRid, '-', '_') }}
jobs:
- job: BuildNative_${{ replace(targetRid, '-', '_') }}
diff --git a/src/Aspire.Cli/Aspire.Cli.csproj b/src/Aspire.Cli/Aspire.Cli.csproj
index d6625f36a95..41253464241 100644
--- a/src/Aspire.Cli/Aspire.Cli.csproj
+++ b/src/Aspire.Cli/Aspire.Cli.csproj
@@ -31,6 +31,10 @@
false
+
+
+
+