diff --git a/.vsts-ci.yml b/.vsts-ci.yml
index d6421f73acc2..91c0819c40b2 100644
--- a/.vsts-ci.yml
+++ b/.vsts-ci.yml
@@ -193,28 +193,25 @@ extends:
- categoryName: Official
publishArgument: $(_publishArgument)
officialBuildProperties: $(_officialBuildProperties)
- osProperties: $(linuxOsPortableProperties)
runTests: false
- categoryName: Official
targetArchitecture: arm
runtimeIdentifier: linux-arm
publishArgument: $(_publishArgument)
officialBuildProperties: $(_officialBuildProperties)
- osProperties: $(linuxOsPortableProperties)
runTests: false
- categoryName: Official
targetArchitecture: arm64
runtimeIdentifier: linux-arm64
publishArgument: $(_publishArgument)
officialBuildProperties: $(_officialBuildProperties)
- osProperties: $(linuxOsPortableProperties)
runTests: false
### PORTABLE ###
- categoryName: Portable
# Do not publish zips and tarballs. The linux-x64 binaries are already published by Official.
publishArgument: $(_publishArgument) /p:PublishBinariesAndBadge=false
officialBuildProperties: $(_officialBuildProperties)
- osProperties: $(linuxOsPortableProperties) /p:BuildSdkDeb=true
+ osProperties: /p:BuildSdkDeb=true
runTests: false
- categoryName: Portable
targetArchitecture: arm64
@@ -222,14 +219,14 @@ extends:
# Do not publish zips and tarballs. The linux-arm64 binaries are already published by Official.
publishArgument: $(_publishArgument) /p:PublishBinariesAndBadge=false
officialBuildProperties: $(_officialBuildProperties)
- osProperties: $(linuxOsPortableProperties) /p:BuildSdkDeb=true
+ osProperties: /p:BuildSdkDeb=true
runTests: false
- categoryName: Portable
container: centosStream9
# Do not publish zips and tarballs. The linux-x64 binaries are already published by Official.
publishArgument: $(_publishArgument) /p:PublishBinariesAndBadge=false
officialBuildProperties: $(_officialBuildProperties)
- osProperties: $(linuxOsPortableProperties) /p:IsRPMBasedDistro=true
+ osProperties: /p:IsRPMBasedDistro=true
runTests: false
- categoryName: Portable
container: centosStream9
@@ -238,7 +235,7 @@ extends:
# Do not publish zips and tarballs. The linux-arm64 binaries are already published by Official.
publishArgument: $(_publishArgument) /p:PublishBinariesAndBadge=false
officialBuildProperties: $(_officialBuildProperties)
- osProperties: $(linuxOsPortableProperties) /p:IsRPMBasedDistro=true
+ osProperties: /p:IsRPMBasedDistro=true
runTests: false
### MUSL ###
- categoryName: Musl
@@ -246,8 +243,6 @@ extends:
runtimeIdentifier: linux-musl-x64
publishArgument: $(_publishArgument)
officialBuildProperties: $(_officialBuildProperties)
- # Use HostOSName when running on alpine.
- osProperties: /p:HostOSName=linux-musl
# SBOM generation is not supported for alpine.
enableSbom: false
runTests: false
@@ -257,21 +252,18 @@ extends:
runtimeIdentifier: linux-musl-arm
publishArgument: $(_publishArgument)
officialBuildProperties: $(_officialBuildProperties)
- osProperties: /p:OSName=linux-musl
runTests: false
- categoryName: Musl
targetArchitecture: arm64
runtimeIdentifier: linux-musl-arm64
publishArgument: $(_publishArgument)
officialBuildProperties: $(_officialBuildProperties)
- osProperties: /p:OSName=linux-musl
runTests: false
### PGO ###
- categoryName: PGO
pgoInstrument: true
publishArgument: $(_publishArgument)
officialBuildProperties: $(_officialBuildProperties)
- osProperties: $(linuxOsPortableProperties)
runTests: false
- categoryName: PGO
pgoInstrument: true
@@ -279,7 +271,6 @@ extends:
runtimeIdentifier: linux-arm64
publishArgument: $(_publishArgument)
officialBuildProperties: $(_officialBuildProperties)
- osProperties: $(linuxOsPortableProperties)
runTests: false
############### MACOS ###############
diff --git a/Directory.Build.props b/Directory.Build.props
index 4a2421dd53a4..49e015c2d7d7 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -1,32 +1,55 @@
-
-
- $([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())
- $(BuildArchitecture)
- $(BuildArchitecture)
- $(BuildArchitecture)
- $(BuildArchitecture)
- x64
- enable
+
+
+ linux
+ osx
+ freebsd
+ netbsd
+ illumos
+ solaris
+ haiku
+ windows
+ $(BuildOS)
+ $(TargetOS)
-
-
+
+
+ $([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant)
+
+ $(BuildArchitecture)
+
+ $(TargetArchitecture)
+
-
- true
- win
- osx
- freebsd
- illumos
- linux
-
- $(TargetRid.Substring(0, $(TargetRid.LastIndexOf('-'))))
- $(HostOSName)
+
+
+ $(__DistroRid)
+ $([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)
+ win-$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant)
+
+ $(BuildRid.Substring(0, $(BuildRid.LastIndexOf('-'))))-$(TargetArchitecture)
+ $(TargetRid)
+
+ false
+ true
+
+ $(__PortableTargetOS)-$(TargetArchitecture)
+ freebsd-$(TargetArchitecture)
+ osx-$(TargetArchitecture)
+ linux-$(TargetArchitecture)
+ linux-musl-$(TargetArchitecture)
+ win-$(TargetArchitecture)
+
+ $(PortableRid)
+
+
+
$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src'))
https://github.com/dotnet/sdk
@@ -38,8 +61,6 @@
true
false
net10.0
-
- net10.0
$(NetCurrent)
$(SdkTargetFramework)
net8.0
@@ -62,6 +83,8 @@
true
true
+
+ enable
diff --git a/eng/Badge.proj b/eng/Badge.proj
index 7e3108caf761..f895b6e065c9 100644
--- a/eng/Badge.proj
+++ b/eng/Badge.proj
@@ -8,8 +8,7 @@
- $(OSName.Replace('-', '_'))_$(TargetArchitecture)
- linux_$(TargetArchitecture)
+ $(TargetRid.Replace('-', '_'))
$(ArtifactsShippingPackagesDir)$(VersionBadgeMoniker)_$(Configuration)_version_badge.svg
$(MSBuildThisFileDirectory)version_badge.svg
diff --git a/eng/pipelines/templates/jobs/sdk-job-matrix.yml b/eng/pipelines/templates/jobs/sdk-job-matrix.yml
index 778441d1176a..e6fc8bba2bab 100644
--- a/eng/pipelines/templates/jobs/sdk-job-matrix.yml
+++ b/eng/pipelines/templates/jobs/sdk-job-matrix.yml
@@ -21,17 +21,14 @@ parameters:
### LINUX ###
linuxJobParameterSets:
- categoryName: TestBuild
- osProperties: $(linuxOsPortableProperties)
- categoryName: TestBuild
targetArchitecture: arm64
runtimeIdentifier: linux-arm64
- osProperties: $(linuxOsPortableProperties)
# Don't run the tests on arm64. Only perform the build itself.
runTests: false
- categoryName: ContainerBased
container: ubuntu2204DebPkg
helixTargetContainer: $(helixTargetContainerPrefix)ubuntu-22.04-helix-amd64
- osProperties: $(linuxOsPortableProperties)
# Skipping all container-based testing for now.
# See: https://github.com/dotnet/sdk/issues/40935
runTests: false
@@ -39,21 +36,19 @@ parameters:
container: fedora39
# No fedora Helix container is available, so use the ubuntu one instead.
helixTargetContainer: $(helixTargetContainerPrefix)ubuntu-22.04-helix-amd64
- osProperties: $(linuxOsPortableProperties)
# Skipping all container-based testing for now.
# See: https://github.com/dotnet/sdk/issues/40935
runTests: false
- categoryName: ContainerBased
container: centosStream9
helixTargetContainer: $(helixTargetContainerPrefix)centos-stream9-helix
- osProperties: /p:OSName=linux
# Skipping all container-based testing for now.
# See: https://github.com/dotnet/sdk/issues/40935
runTests: false
- categoryName: ContainerBased
container: debian12Amd64
helixTargetContainer: $(helixTargetContainerPrefix)debian-11-helix-amd64
- osProperties: /p:OSName=linux /p:BuildSdkDeb=true
+ osProperties: /p:BuildSdkDeb=true
# Skipping all container-based testing for now.
# See: https://github.com/dotnet/sdk/issues/40935
runTests: false
@@ -61,15 +56,12 @@ parameters:
container: alpine319WithNode
helixTargetContainer: $(helixTargetContainerPrefix)alpine-3.18-helix-amd64
runtimeIdentifier: linux-musl-x64
- # Use HostOSName when running on alpine.
- osProperties: /p:HostOSName=linux-musl
# SBOM generation is not supported for alpine.
enableSbom: false
# Skipping all container-based testing for now.
# See: https://github.com/dotnet/sdk/issues/40935
runTests: false
- categoryName: TemplateEngine
- osProperties: $(linuxOsPortableProperties)
testProjects: $(Build.SourcesDirectory)/test/Microsoft.TemplateEngine.Cli.UnitTests/Microsoft.TemplateEngine.Cli.UnitTests.csproj;$(Build.SourcesDirectory)/test/dotnet-new.IntegrationTests/dotnet-new.IntegrationTests.csproj
publishXunitResults: true
### MACOS ###
diff --git a/eng/pipelines/templates/variables/sdk-defaults.yml b/eng/pipelines/templates/variables/sdk-defaults.yml
index f9097cfc211a..c9f0d4d04fdb 100644
--- a/eng/pipelines/templates/variables/sdk-defaults.yml
+++ b/eng/pipelines/templates/variables/sdk-defaults.yml
@@ -1,7 +1,6 @@
variables:
############### BUILD ###############
buildConfiguration: Release
- linuxOsPortableProperties: /p:OSName=linux /p:IsLinuxPortable=true
helixTargetContainerPrefix: '@mcr.microsoft.com/dotnet-buildtools/prereqs:'
############### ARCADE ###############
diff --git a/src/Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj b/src/Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj
index 7ec4f221145b..5950776d8778 100644
--- a/src/Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj
+++ b/src/Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj
@@ -10,7 +10,7 @@
true
MicrosoftAspNetCore
true
- true
+ true
true
true
diff --git a/src/Cli/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj b/src/Cli/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj
index 57a1d10f3c31..04cd2d6ce81f 100644
--- a/src/Cli/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj
+++ b/src/Cli/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj
@@ -7,7 +7,7 @@
true
MicrosoftAspNetCore
true
- true
+ true
git
true
diff --git a/src/Cli/dotnet/dotnet.csproj b/src/Cli/dotnet/dotnet.csproj
index f6b9b0a7015d..2232cc817e53 100644
--- a/src/Cli/dotnet/dotnet.csproj
+++ b/src/Cli/dotnet/dotnet.csproj
@@ -6,7 +6,7 @@
Exe
MicrosoftAspNetCore
true
- true
+ true
dotnet5.4
Microsoft.DotNet.Cli
$(DefineConstants);EXCLUDE_ASPNETCORE
diff --git a/src/Layout/Directory.Build.props b/src/Layout/Directory.Build.props
index cc25a289be19..7cedd9531e84 100644
--- a/src/Layout/Directory.Build.props
+++ b/src/Layout/Directory.Build.props
@@ -3,11 +3,6 @@
-
- $(__DistroRid)
- $([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)
- win-$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant)
-
true
true
true
@@ -15,58 +10,39 @@
.tar.gz
- .zip
+ .zip
- .msi
- .pkg
+ .msi
+ .pkg
.deb
.rpm
- .exe
- $(InstallerExtension)
+ .exe
+ $(InstallerExtension)
$(InstallerExtension)
$(InstallerExtension)
- .exe
-
-
- $(OSName)-$(TargetArchitecture)
- $(TargetRid)
-
- $(OSName)
- $(PortableOSName)-$(TargetArchitecture)
- $(PortableRid)
+ .exe
true
true
- true
-
+ true
-
true
true
true
-
-
- true
true
$(HostRid)
- $(OSName)-$(TargetArchitecture)
+ $(TargetOS)-$(TargetArchitecture)
$(HostRid.Replace('mariner.2.0', 'cm.2'))
$(NetRuntimeRid)
- $(ProductMonikerRid)
- linux-$(TargetArchitecture)
+ $(TargetRid)
diff --git a/src/Layout/Directory.Build.targets b/src/Layout/Directory.Build.targets
index c1e2f454cbe6..eafcdbdcbac4 100644
--- a/src/Layout/Directory.Build.targets
+++ b/src/Layout/Directory.Build.targets
@@ -14,15 +14,15 @@
$(FullNugetVersion).$(VersionSuffixDateStamp).$(VersionSuffixBuildOfTheDay)
-pgo
- dotnet-sdk-internal$(PgoTerm)-$(Version)-$(ProductMonikerRid)
- dotnet-sdk$(PgoTerm)-$(Version)-$(ProductMonikerRid)
+ dotnet-sdk-internal$(PgoTerm)-$(Version)-$(TargetRid)
+ dotnet-sdk$(PgoTerm)-$(Version)-$(TargetRid)
$(ArtifactNameWithVersionSdk)$(InstallerExtension)
$(ArtifactsNonShippingPackagesDir)$(SdkMSIInstallerFileName)
$(DownloadsFolder)$(SdkMSIInstallerFileName)
- $(ArtifactsNonShippingPackagesDir)dotnet-sdkplaceholder-$(FullNugetVersion)-$(ProductMonikerRid)$(InstallerExtension)
+ $(ArtifactsNonShippingPackagesDir)dotnet-sdkplaceholder-$(FullNugetVersion)-$(TargetRid)$(InstallerExtension)
diff --git a/src/Layout/VS.Redist.Common.NetCore.Templates/VS.Redist.Common.NetCore.Templates.proj b/src/Layout/VS.Redist.Common.NetCore.Templates/VS.Redist.Common.NetCore.Templates.proj
index 99aa4dc84a26..ee45b04623f7 100644
--- a/src/Layout/VS.Redist.Common.NetCore.Templates/VS.Redist.Common.NetCore.Templates.proj
+++ b/src/Layout/VS.Redist.Common.NetCore.Templates/VS.Redist.Common.NetCore.Templates.proj
@@ -17,7 +17,7 @@
-
+
diff --git a/src/Layout/redist/targets/BundledTemplates.targets b/src/Layout/redist/targets/BundledTemplates.targets
index d244ad99887f..70cedc1b7ebc 100644
--- a/src/Layout/redist/targets/BundledTemplates.targets
+++ b/src/Layout/redist/targets/BundledTemplates.targets
@@ -31,7 +31,7 @@
@@ -40,7 +40,7 @@
- $(ArtifactsNonShippingPackagesDir)%(TemplatesComponents.TemplateBaseFilename)-$(FullNugetVersion)-$(ProductMonikerRid)$(InstallerExtension)
+ $(ArtifactsNonShippingPackagesDir)%(TemplatesComponents.TemplateBaseFilename)-$(FullNugetVersion)-$(TargetRid)$(InstallerExtension)
@@ -56,7 +56,7 @@
-
+
@@ -74,7 +74,7 @@
DestinationFiles="$(RedistInstallerLayoutPath)templates\$(CurrentTemplateInstallPath)\$([System.String]::Copy('%(Filename)%(Extension)').ToLowerInvariant())" />
-
+
diff --git a/src/Layout/redist/targets/Crossgen.targets b/src/Layout/redist/targets/Crossgen.targets
index b80892ad82c3..b20d22129bc7 100644
--- a/src/Layout/redist/targets/Crossgen.targets
+++ b/src/Layout/redist/targets/Crossgen.targets
@@ -7,8 +7,8 @@
'$(TargetArchitecture)' != 'ppc64le' and
'$(DotNetBuildUseMonoRuntime)' != 'true'">true
- $(HostOSName)-$(BuildArchitecture)
-
+
+ $(HostOS)-$(BuildArchitecture)
microsoft.netcore.app.crossgen2.$(Crossgen2Rid)
@@ -194,8 +194,8 @@
-
-
+
+
diff --git a/src/Layout/redist/targets/Directory.Build.targets b/src/Layout/redist/targets/Directory.Build.targets
index fcd0fb99122d..e7f905739b15 100644
--- a/src/Layout/redist/targets/Directory.Build.targets
+++ b/src/Layout/redist/targets/Directory.Build.targets
@@ -24,7 +24,7 @@
-
-
+
+
diff --git a/src/Layout/redist/targets/GenerateArchives.targets b/src/Layout/redist/targets/GenerateArchives.targets
index b9f9526fae55..46aafe645ed1 100644
--- a/src/Layout/redist/targets/GenerateArchives.targets
+++ b/src/Layout/redist/targets/GenerateArchives.targets
@@ -13,15 +13,15 @@
-
+
+ Include="$(TargetRid)" />
+ Include="$(TargetRid)" />
+ Include="$(TargetRid)" />
+ Include="$(TargetRid)" />
<_ExcludedKnownRuntimeIdentiferPlatforms Include="tizen.4.0.0;tizen.5.0.0" Condition="'$(DotNetBuildSourceOnly)' != 'true'" />
- <_ExcludedKnownRuntimeIdentiferPlatforms Include="tizen.4.0.0" Condition="'$(DotNetBuildSourceOnly)' == 'true' and !$(ProductMonikerRid.StartsWith('tizen.4.0.0-'))" />
- <_ExcludedKnownRuntimeIdentiferPlatforms Include="tizen.5.0.0" Condition="'$(DotNetBuildSourceOnly)' == 'true' and !$(ProductMonikerRid.StartsWith('tizen.5.0.0-'))" />
+ <_ExcludedKnownRuntimeIdentiferPlatforms Include="tizen.4.0.0" Condition="'$(DotNetBuildSourceOnly)' == 'true' and !$(TargetRid.StartsWith('tizen.4.0.0-'))" />
+ <_ExcludedKnownRuntimeIdentiferPlatforms Include="tizen.5.0.0" Condition="'$(DotNetBuildSourceOnly)' == 'true' and !$(TargetRid.StartsWith('tizen.5.0.0-'))" />
- Dotnet SDK Bundle Installer $(CliProductBandVersion) $(ProductMonikerRid)
+ Dotnet SDK Bundle Installer $(CliProductBandVersion) $(TargetRid)
diff --git a/src/Layout/redist/targets/RestoreLayout.targets b/src/Layout/redist/targets/RestoreLayout.targets
index cbd361c5fbb5..f33028221ee6 100644
--- a/src/Layout/redist/targets/RestoreLayout.targets
+++ b/src/Layout/redist/targets/RestoreLayout.targets
@@ -2,7 +2,7 @@
- -internal
+ -internal
$(TargetArchitecture)
aarch64
@@ -37,7 +37,7 @@
netstandard-targeting-pack-$(NETStandardLibraryRefPackageVersion)-osx-x64$(InstallerExtension)
$(ArtifactNameWithVersionSdk)$(InstallerExtension)
- dotnet-$(VersionMajor)$(VersionMinor)templates-$(FullNugetVersion)-$(ProductMonikerRid)$(InstallerExtension)
+ dotnet-$(VersionMajor)$(VersionMinor)templates-$(FullNugetVersion)-$(TargetRid)$(InstallerExtension)
dotnet-runtime-$(MicrosoftNETCoreAppRuntimePackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)
dotnet-runtime$(PgoTerm)-$(VSRedistCommonNetCoreSharedFrameworkx64100PackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)
@@ -48,7 +48,7 @@
x64
aarch64
- aspnetcore-runtime-$(MicrosoftAspNetCoreAppRuntimePackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension)
+ aspnetcore-runtime-$(MicrosoftAspNetCoreAppRuntimePackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension)
aspnetcore-runtime-$(VSRedistCommonAspNetCoreSharedFrameworkx64100PackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension)
aspnetcore-targeting-pack-$(MicrosoftAspNetCoreAppRefPackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension)
aspnetcore-targeting-pack-$(MicrosoftAspNetCoreAppRefInternalPackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension)