diff --git a/.vsts-ci.yml b/.vsts-ci.yml
index abfd68fda..eb2acb8c9 100644
--- a/.vsts-ci.yml
+++ b/.vsts-ci.yml
@@ -20,6 +20,8 @@ variables:
- name: PostBuildSign
value: true
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ - name: Codeql.Enabled
+ value: true
- group: DotNet-DotNetCli-Storage
- group: DotNet-Installer-SDLValidation-Params
- name: _PublishUsingPipelines
diff --git a/Directory.Build.props b/Directory.Build.props
index b87eeccca..2b9d318a6 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -9,7 +9,7 @@
$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())
- $(BuildArchitecture)
+ $(BuildArchitecture)
$(BuildArchitecture)
$(BuildArchitecture)
x64
diff --git a/Native.sln b/Native.sln
index 7ce79b609..29bd74903 100644
--- a/Native.sln
+++ b/Native.sln
@@ -12,9 +12,11 @@ Global
Debug|x86 = Debug|x86
Debug|x64 = Debug|x64
Debug|arm64 = Debug|arm64
+ Debug|arm = Debug|arm
Release|x86 = Release|x86
Release|x64 = Release|x64
Release|arm64 = Release|arm64
+ Release|arm = Release|arm
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{688E2883-C5A9-4D66-A207-772C9160989C}.Debug|x86.ActiveCfg = Debug|x86
@@ -23,12 +25,16 @@ Global
{688E2883-C5A9-4D66-A207-772C9160989C}.Debug|x64.Build.0 = Debug|x64
{688E2883-C5A9-4D66-A207-772C9160989C}.Debug|arm64.ActiveCfg = Debug|arm64
{688E2883-C5A9-4D66-A207-772C9160989C}.Debug|arm64.Build.0 = Debug|arm64
+ {688E2883-C5A9-4D66-A207-772C9160989C}.Debug|arm.ActiveCfg = Debug|arm
+ {688E2883-C5A9-4D66-A207-772C9160989C}.Debug|arm.Build.0 = Debug|arm
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|x86.ActiveCfg = Release|x86
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|x86.Build.0 = Release|x86
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|x64.ActiveCfg = Release|x64
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|x64.Build.0 = Release|x64
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|arm64.ActiveCfg = Release|arm64
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|arm64.Build.0 = Release|arm64
+ {688E2883-C5A9-4D66-A207-772C9160989C}.Release|arm.ActiveCfg = Release|arm
+ {688E2883-C5A9-4D66-A207-772C9160989C}.Release|arm.Build.0 = Release|arm
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/NuGet.config b/NuGet.config
index dbd29f96e..770df6dcb 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -5,6 +5,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -26,6 +40,8 @@
+
+
diff --git a/README.md b/README.md
index 686aa0dd7..808010978 100644
--- a/README.md
+++ b/README.md
@@ -43,8 +43,8 @@ Please see the [dotnet/source-build](https://github.com/dotnet/source-build) rep
## Support
-.NET Source-Build is supported on the oldest available .NET SDK feature update, and on Linux only.
-For example, if both .NET 6.0.1XX and 6.0.2XX feature updates are available from [dotnet.microsoft.com](https://dotnet.microsoft.com/en-us/download/dotnet/6.0), Source-Build will only support 6.0.1XX.
+.NET Source-Build is supported on the oldest available .NET SDK feature update for each major release, and on Linux only.
+For example, if .NET 6.0.1xx, 6.0.2xx, and 7.0.1xx feature updates are available from [dotnet.microsoft.com](https://dotnet.microsoft.com/en-us/download/dotnet/6.0), Source-Build will support 6.0.1xx and 7.0.1xx.
For the latest information about Source-Build support for new .NET versions, please check our [GitHub Discussions page](https://github.com/dotnet/source-build/discussions) for announcements.
## Prerequisites
@@ -79,7 +79,7 @@ The dependencies for building .NET from source can be found [here](https://githu
```
This builds the entire .NET SDK from source.
- The resulting SDK is placed at `artifacts/x64/Release/dotnet-sdk-6.0.100-fedora.33-x64.tar.gz`.
+ The resulting SDK is placed at `artifacts/x64/Release/dotnet-sdk-7.0.100-your-RID.tar.gz`.
Optionally add the `--online` flag to add online NuGet restore sources to the build.
This is useful for testing unsupported releases that don't yet build without downloading pre-built binaries from the internet.
@@ -90,7 +90,7 @@ The dependencies for building .NET from source can be found [here](https://githu
```bash
mkdir -p $HOME/dotnet
- tar zxf artifacts/x64/Release/dotnet-sdk-6.0.100-fedora.33-x64.tar.gz -C $HOME/dotnet
+ tar zxf artifacts/x64/Release/dotnet-sdk-7.0.100-your-RID.tar.gz -C $HOME/dotnet
ln -s $HOME/dotnet/dotnet /usr/bin/dotnet
```
diff --git a/eng/Build.props b/eng/Build.props
index 4df683bab..874132e36 100644
--- a/eng/Build.props
+++ b/eng/Build.props
@@ -1,7 +1,7 @@
-
diff --git a/eng/Signing.props b/eng/Signing.props
index 3a2373f9e..0d49f78d1 100644
--- a/eng/Signing.props
+++ b/eng/Signing.props
@@ -7,12 +7,9 @@
-
-
-
-
-
-
+
+
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 33c6137b1..495bd38bc 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -52,34 +52,34 @@
https://github.com/dotnet/runtime
5147f6fc78520db322118cc8287651cb54a506df
-
- https://github.com/dotnet/aspnetcore
- 2651d9202b0bf5fdd081930cd7a4438ced351410
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
+ bb01bbf4433e27289b99001b7de6a582879d1835
-
- https://github.com/dotnet/aspnetcore
- 2651d9202b0bf5fdd081930cd7a4438ced351410
-
-
- https://github.com/dotnet/aspnetcore
- 2651d9202b0bf5fdd081930cd7a4438ced351410
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
+ bb01bbf4433e27289b99001b7de6a582879d1835
-
- https://github.com/dotnet/aspnetcore
- 2651d9202b0bf5fdd081930cd7a4438ced351410
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
+ bb01bbf4433e27289b99001b7de6a582879d1835
-
- https://github.com/dotnet/aspnetcore
- 2651d9202b0bf5fdd081930cd7a4438ced351410
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
+ bb01bbf4433e27289b99001b7de6a582879d1835
-
- https://github.com/dotnet/aspnetcore
- 2651d9202b0bf5fdd081930cd7a4438ced351410
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
+ bb01bbf4433e27289b99001b7de6a582879d1835
-
- https://github.com/dotnet/aspnetcore
- 2651d9202b0bf5fdd081930cd7a4438ced351410
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
+ bb01bbf4433e27289b99001b7de6a582879d1835
+
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
+ bb01bbf4433e27289b99001b7de6a582879d1835
https://github.com/dotnet/test-templates
@@ -133,9 +133,9 @@
f07ccb1bc4325861cb4306733f59b23f6d4344f7
-
+
https://github.com/microsoft/vstest
- 576a7cc1b259976393cf576a6a9c5df967bb2b7d
+ c02ece877c62577810f893c44279ce79af820112
@@ -154,9 +154,9 @@
20ce296d6b3f4e63a511321c7e1a2f69a4ee63ef
-
+
https://github.com/nuget/nuget.client
- 1a082949ae5b6da7ca2cce047396c53ae1afdde7
+ 125f673fd1cdb3cc012f62aa3ce764d2460b89eb
@@ -201,9 +201,9 @@
https://github.com/dotnet/arcade
f36ea231c234560514ede4c2747897a737ced28f
-
+
https://github.com/dotnet/source-build-reference-packages
- 8366acfc3e0660ceef6bddbe7794044e5d503521
+ 4f5672e90b7f908d96aad61a40b0e9b352518b1c
diff --git a/eng/Versions.props b/eng/Versions.props
index 9cd63ca22..86478c56c 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -16,7 +16,7 @@
$(VersionMajor).$(VersionMinor)
$(MajorMinorVersion).$(VersionSDKMinor)
- false
+ true
release
@@ -31,11 +31,11 @@
- 7.0.0-rtm.22476.8
+ 7.0.0-rtm.22518.7
- 7.0.0-rtm.22476.6
+ 7.0.0-rtm.22518.2
@@ -50,46 +50,46 @@
- 7.0.0-rtm.22504.29
- 7.0.0-rtm.22504.29
- 7.0.0-rtm.22504.29
- 7.0.0-rtm.22504.29
- 7.0.0-rtm.22504.29
- 7.0.0-rtm.22504.29
- 7.0.0-rtm.22504.29
+ 7.0.0
+ 7.0.0
+ 7.0.0-rtm.22518.19
+ 7.0.0-rtm.22518.19
+ 7.0.0-rtm.22518.19
+ 7.0.0-rtm.22518.19
+ 7.0.0-rtm.22518.19
0.2.0
- 7.0.100-rtm.22506.24
- 7.0.100-rtm.22506.24
- 7.0.100-rtm.22506.24
+ 7.0.100
+ 7.0.100-rtm.22521.7
+ 7.0.100-rtm.22521.7
$(MicrosoftNETSdkPackageVersion)
$(MicrosoftNETSdkPackageVersion)
$(MicrosoftNETSdkPackageVersion)
- 7.0.0-rtm.22505.15
+ 7.0.0
- 7.0.0-rtm.22505.15
- 7.0.0-rtm.22505.15
- 7.0.0-rtm.22505.15
- 7.0.0-rtm.22505.15
- 7.0.0-rtm.22505.15
- 7.0.0-rtm.22505.15
+ 7.0.0-rtm.22518.5
+ 7.0.0-rtm.22518.5
+ 7.0.0
+ 7.0.0
+ 7.0.0
+ 7.0.0
2.1.0
- 7.0.0-rtm.22478.5
- 7.0.0-rtm.22478.5
- 7.0.0-rtm.22478.5
- 7.0.0-rtm.22478.5
+ 7.0.0-rtm.22519.1
+ 7.0.0-rtm.22519.1
+ 7.0.0
+ 7.0.0
@@ -171,7 +171,7 @@
2.2.0-beta.19072.10
2.0.0
- 17.4.0-release-20220926-01
+ 17.4.0-release-20221019-01
@@ -197,13 +197,13 @@
- 7.0.100-rc.1
- 7.0.0-rc.1.6430
- 33.0.0-rc.1.136
- 15.4.1006-rc.1
- 15.4.1006-rc.1
- 12.3.1006-rc.1
- 15.4.1006-rc.1
+ 7.0.100
+ 7.0.49
+ 33.0.4
+ 16.0.1478
+ 15.4.2372
+ 12.3.2372
+ 16.0.1478
$(MicrosoftNETCoreAppRefPackageVersion)
7.0.0-rtm.22476.2
7.0.0-rtm.22476.2
diff --git a/eng/source-build-tarball-build-official.yml b/eng/source-build-tarball-build-official.yml
index a230a4d7c..5d396baab 100644
--- a/eng/source-build-tarball-build-official.yml
+++ b/eng/source-build-tarball-build-official.yml
@@ -4,7 +4,19 @@ resources:
pipelines:
- pipeline: installer-build-resource
source: dotnet-installer-official-ci
- trigger: true
+ trigger:
+ branches:
+ include:
+ - main
+ - release/*
+ - internal/release/*
+ exclude:
+ - release/6.0.3xx
+ - internal/release/6.0.3xx
+ - release/6.0.4xx
+ - internal/release/6.0.4xx
+ stages:
+ - build
stages:
- stage: build
diff --git a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml
index cffdf6bdb..ac6d73016 100644
--- a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml
+++ b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml
@@ -6,11 +6,20 @@ jobs:
displayName: Source-Build Create Tarball
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
- name: NetCore-Svc-Public
- demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
+ ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
+ name: NetCore-Public-XL
+ demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
+ ${{ else }}:
+ name: NetCore-Svc-Public
+ demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
- name: NetCore1ESPool-Svc-Internal
- demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
+ ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
+ name: NetCore1ESPool-Internal-XL
+ demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
+ ${{ else }}:
+ name: NetCore1ESPool-Svc-Internal
+ demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
+
variables:
- name: _BuildConfig
value: Release
diff --git a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
index 60b39b652..06bfd2b15 100644
--- a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
+++ b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
@@ -17,10 +17,13 @@ parameters:
poolInternalAmd64:
name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
+ poolInternalAmd64PR:
+ name: NetCore1ESPool-Internal-XL
+ demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
poolInternalArm64:
name: Docker-Linux-Arm-Internal
poolPublicAmd64:
- name: NetCore-Svc-Public
+ name: NetCore-Public-XL
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
jobs:
@@ -68,24 +71,24 @@ jobs:
${{ if eq(variables['System.TeamProject'], 'public') }}:
${{ parameters.poolPublicAmd64 }}
${{ if eq(variables['System.TeamProject'], 'internal') }}:
- ${{ parameters.poolInternalAmd64 }}
+ ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
+ ${{ parameters.poolInternalAmd64PR }}
+ ${{ else }}:
+ ${{ parameters.poolInternalAmd64 }}
-- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+- ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
parameters:
architecture: arm64
dependsOn: ${{ parameters.dependsOn }}
- ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
- excludeSdkContentTests: true
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
matrix:
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
- Debian11-Offline:
- _BootstrapPrep: true
- _Container: ${{ parameters.debian11Arm64Container }}
- _EnablePoison: false
- _ExcludeOmniSharpTests: false
- _RunOnline: false
+ Debian11-Offline:
+ _BootstrapPrep: true
+ _Container: ${{ parameters.debian11Arm64Container }}
+ _EnablePoison: false
+ _ExcludeOmniSharpTests: false
+ _RunOnline: false
name: Build_Tarball_arm64
pool: ${{ parameters.poolInternalArm64 }}
diff --git a/src/SourceBuild/tarball/content/Directory.Build.props b/src/SourceBuild/tarball/content/Directory.Build.props
index 860785575..3ffe8c56a 100644
--- a/src/SourceBuild/tarball/content/Directory.Build.props
+++ b/src/SourceBuild/tarball/content/Directory.Build.props
@@ -17,7 +17,7 @@
$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())
- $(BuildArchitecture)
+ $(BuildArchitecture)
$(BuildArchitecture)
$(BuildArchitecture)
x64
diff --git a/src/SourceBuild/tarball/content/global.json b/src/SourceBuild/tarball/content/global.json
index 8d9568376..1bf480e4e 100644
--- a/src/SourceBuild/tarball/content/global.json
+++ b/src/SourceBuild/tarball/content/global.json
@@ -1,6 +1,6 @@
{
"tools": {
- "dotnet": "7.0.100-rc.2.22477.23"
+ "dotnet": "7.0.100"
},
"msbuild-sdks": {
"Microsoft.Build.CentralPackageVersions": "2.0.1",
diff --git a/src/SourceBuild/tarball/content/repos/Directory.Build.targets b/src/SourceBuild/tarball/content/repos/Directory.Build.targets
index 9a61647b4..7bf88fdd6 100644
--- a/src/SourceBuild/tarball/content/repos/Directory.Build.targets
+++ b/src/SourceBuild/tarball/content/repos/Directory.Build.targets
@@ -85,11 +85,11 @@
NewText="/p:RepoRoot="$repo_root/"" />
-
+ Outputs="$(RepoCompletedSemaphorePath)AddNoWarns.complete" >
+ CS0618
diff --git a/src/SourceBuild/tarball/content/repos/known-good.proj b/src/SourceBuild/tarball/content/repos/known-good.proj
index 50720cc4c..6f96a2fdf 100644
--- a/src/SourceBuild/tarball/content/repos/known-good.proj
+++ b/src/SourceBuild/tarball/content/repos/known-good.proj
@@ -18,7 +18,8 @@
-
+
+
diff --git a/src/SourceBuild/tarball/content/repos/razor-compiler.proj b/src/SourceBuild/tarball/content/repos/razor-compiler.proj
index f47d22c98..a56aa1ea4 100644
--- a/src/SourceBuild/tarball/content/repos/razor-compiler.proj
+++ b/src/SourceBuild/tarball/content/repos/razor-compiler.proj
@@ -7,6 +7,10 @@
$(ProjectDirectory)global.json
$(ProjectDirectory)NuGet.config
false
+
+
+ NU1507
diff --git a/src/SourceBuild/tarball/content/repos/runtime.common.props b/src/SourceBuild/tarball/content/repos/runtime.common.props
index 3269a3f63..cb02932f9 100644
--- a/src/SourceBuild/tarball/content/repos/runtime.common.props
+++ b/src/SourceBuild/tarball/content/repos/runtime.common.props
@@ -13,7 +13,7 @@
$(StandardSourceBuildArgs.Replace('-bl', '-nobl'))
$(StandardSourceBuildCommand) $(BuildCommandArgs)
- $(ArmEnvironmentVariables) $(StandardSourceBuildCommand) $(BuildCommandArgs)
+ $(ArmEnvironmentVariables) $(StandardSourceBuildCommand) $(BuildCommandArgs)
$(ProjectDirectory)/clean$(ShellExtension)
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetHelper.cs b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetHelper.cs
index ae5508aa4..921ab1f97 100644
--- a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetHelper.cs
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetHelper.cs
@@ -96,7 +96,7 @@ internal class DotNetHelper
}
}
- public void ExecuteCmd(string args, string? workingDirectory = null, Action? additionalProcessConfigCallback = null, int expectedExitCode = 0, int millisecondTimeout = -1)
+ public void ExecuteCmd(string args, string? workingDirectory = null, Action? additionalProcessConfigCallback = null, int? expectedExitCode = 0, int millisecondTimeout = -1)
{
(Process Process, string StdOut, string StdErr) executeResult = ExecuteHelper.ExecuteProcess(
DotNetPath,
@@ -105,7 +105,9 @@ internal class DotNetHelper
configure: (process) => configureProcess(process, workingDirectory),
millisecondTimeout: millisecondTimeout);
- ExecuteHelper.ValidateExitCode(executeResult, expectedExitCode);
+ if (expectedExitCode != null) {
+ ExecuteHelper.ValidateExitCode(executeResult, (int) expectedExitCode);
+ }
void configureProcess(Process process, string? workingDirectory)
{
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetWatchTests.cs b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetWatchTests.cs
index f2dc2a75b..57b4e40b5 100644
--- a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetWatchTests.cs
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetWatchTests.cs
@@ -13,20 +13,18 @@ public class DotNetWatchTests : SmokeTests
{
public DotNetWatchTests(ITestOutputHelper outputHelper) : base(outputHelper) { }
- // TODO: Re-enable https://github.com/dotnet/source-build/issues/2961
- // [Fact]
+ [Fact]
public void WatchTests()
{
string projectDirectory = DotNetHelper.ExecuteNew(DotNetTemplate.Console.GetName(), nameof(DotNetWatchTests));
bool outputChanged = false;
- // We expect an exit code of 143 (128 + 15, i.e. SIGTERM) because we are killing the process manually
DotNetHelper.ExecuteCmd(
"watch run",
workingDirectory: projectDirectory,
additionalProcessConfigCallback: processConfigCallback,
- expectedExitCode: 143,
- millisecondTimeout: 30000);
+ expectedExitCode: null, // The exit code does not reflect whether or not dotnet watch is working properly
+ millisecondTimeout: 60000);
Assert.True(outputChanged);
@@ -53,7 +51,7 @@ public class DotNetWatchTests : SmokeTests
{
outputChanged = true;
OutputHelper.WriteLine("Successfully re-ran program after code change.");
- ExecuteHelper.ExecuteProcessValidateExitCode("kill", $"-s TERM {process.Id}", OutputHelper);
+ process.Kill(true);
}
});
}
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/ExecuteHelper.cs b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/ExecuteHelper.cs
index 62e1eb594..dbaaa8a80 100644
--- a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/ExecuteHelper.cs
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/ExecuteHelper.cs
@@ -70,7 +70,7 @@ internal static class ExecuteHelper
if (!process.HasExited)
{
- outputHelper.WriteLine($"Killing: {fileName} {args}");
+ outputHelper.WriteLine($"Process did not exit. Killing {fileName} {args} after waiting {millisecondTimeout} milliseconds.");
process.Kill(true);
process.WaitForExit();
}
diff --git a/src/SourceBuild/tarball/content/tools-local/init-build.proj b/src/SourceBuild/tarball/content/tools-local/init-build.proj
index 701f76c0c..b2c3beed1 100644
--- a/src/SourceBuild/tarball/content/tools-local/init-build.proj
+++ b/src/SourceBuild/tarball/content/tools-local/init-build.proj
@@ -138,7 +138,7 @@
-
+
diff --git a/src/SourceBuild/tarball/patches/aspnetcore/0001-Disable-warning-CS0618.patch b/src/SourceBuild/tarball/patches/aspnetcore/0001-Disable-warning-CS0618.patch
deleted file mode 100644
index c2e2eedf7..000000000
--- a/src/SourceBuild/tarball/patches/aspnetcore/0001-Disable-warning-CS0618.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Logan Bussell
-Date: Thu, 12 May 2022 14:32:59 -0700
-Subject: [PATCH] Disable warning CS0618
-
-This is needed because IOperation.Children is deprecated in
-Microsoft.CodeAnalysis 4.3.0, but aspnetcore references version 4.2.0.
-
-Requires https://github.com/dotnet/source-build/issues/2482 in order to eliminate this patch
----
- .../src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj b/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj
-index 0b94ad2a8f..1b5cb9d907 100644
---- a/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj
-+++ b/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj
-@@ -9,6 +9,7 @@
- false
- false
- $(MSBuildProjectName).nuspec
-+ $(NoWarn);CS0618
-
-
-
diff --git a/src/SourceBuild/tarball/patches/aspnetcore/0001-ResolvePackageFileConflicts-workaround.patch b/src/SourceBuild/tarball/patches/aspnetcore/0001-ResolvePackageFileConflicts-workaround.patch
new file mode 100644
index 000000000..ab355630e
--- /dev/null
+++ b/src/SourceBuild/tarball/patches/aspnetcore/0001-ResolvePackageFileConflicts-workaround.patch
@@ -0,0 +1,23 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: MichaelSimons
+Date: Fri, 11 Nov 2022 21:10:54 +0000
+Subject: [PATCH] ResolvePackageFileConflicts workaround
+
+---
+ .../App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj | 3 +++
+ 1 file changed, 3 insertions(+)
+
+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 3b5d2ae950..f92fb421fe 100644
+--- a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
++++ b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
+@@ -253,6 +253,9 @@ This package is an internal implementation of the .NET Core SDK and is not meant
+
+
+
++
++
++
+
+
+
diff --git a/src/SourceBuild/tarball/patches/command-line-api/0001-Update-projects-to-net7.0-TFM-with-shared-property.patch b/src/SourceBuild/tarball/patches/command-line-api/0001-Update-projects-to-net7.0-TFM-with-shared-property.patch
deleted file mode 100644
index d875d0aeb..000000000
--- a/src/SourceBuild/tarball/patches/command-line-api/0001-Update-projects-to-net7.0-TFM-with-shared-property.patch
+++ /dev/null
@@ -1,268 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Logan Bussell
-Date: Tue, 19 Jul 2022 14:47:28 -0700
-Subject: [PATCH] Update projects to net7.0 TFM with shared property, Only enable trimming for .NET Core
-
-Backport PR: https://github.com/dotnet/command-line-api/pull/1803
----
- Directory.Build.props | 1 +
- global.json | 7 ++++---
- .../System.CommandLine.ApiCompatibility.Tests.csproj | 2 +-
- .../System.CommandLine.Benchmarks.csproj | 4 ++--
- .../System.CommandLine.DragonFruit.Tests.csproj | 2 +-
- .../System.CommandLine.Generator.Tests.csproj | 2 +-
- .../System.CommandLine.Hosting.Tests.csproj | 2 +-
- .../System.CommandLine.NamingConventionBinder.Tests.csproj | 2 +-
- .../System.CommandLine.Rendering.Tests.csproj | 2 +-
- .../EndToEndTestApp/EndToEndTestApp.csproj | 2 +-
- .../dotnet-suggest.Tests.csproj | 2 +-
- src/System.CommandLine.Suggest/dotnet-suggest.csproj | 2 +-
- .../System.CommandLine.Tests.csproj | 2 +-
- .../TestApps/NativeAOT/NativeAOT.csproj | 4 ++--
- .../TestApps/Trimming/Trimming.csproj | 4 ++--
- src/System.CommandLine/System.CommandLine.csproj | 7 +++++--
- 16 files changed, 26 insertions(+), 21 deletions(-)
-
-diff --git a/Directory.Build.props b/Directory.Build.props
-index c0c5f79a..901c57c7 100644
---- a/Directory.Build.props
-+++ b/Directory.Build.props
-@@ -9,6 +9,7 @@
- $(NoWarn);CS8714;CS8765;CS8600;CS8601;CS8602;CS8603;CS8604
- MIT
- 10.0
-+ net7.0
-
-
-
-diff --git a/global.json b/global.json
-index 1c6fd268..f5bec611 100644
---- a/global.json
-+++ b/global.json
-@@ -1,12 +1,13 @@
- {
- "tools": {
-- "dotnet": "6.0.100",
-+ "dotnet": "7.0.100-preview.6.22352.1",
- "runtimes": {
- "dotnet": [
-- "5.0.10"
-+ "5.0.17",
-+ "6.0.7"
- ]
- },
-- "xcopy-msbuild": "16.10.0-preview2"
-+ "xcopy-msbuild": "17.1.0"
- },
- "msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22168.2"
-diff --git a/src/System.CommandLine.ApiCompatibility.Tests/System.CommandLine.ApiCompatibility.Tests.csproj b/src/System.CommandLine.ApiCompatibility.Tests/System.CommandLine.ApiCompatibility.Tests.csproj
-index 30bcd139..4cc48fde 100644
---- a/src/System.CommandLine.ApiCompatibility.Tests/System.CommandLine.ApiCompatibility.Tests.csproj
-+++ b/src/System.CommandLine.ApiCompatibility.Tests/System.CommandLine.ApiCompatibility.Tests.csproj
-@@ -1,7 +1,7 @@
-
-
-
-- net6.0
-+ $(TargetFrameworkForNETSDK)
- false
-
-
-diff --git a/src/System.CommandLine.Benchmarks/System.CommandLine.Benchmarks.csproj b/src/System.CommandLine.Benchmarks/System.CommandLine.Benchmarks.csproj
-index e54aabc4..185ba62a 100644
---- a/src/System.CommandLine.Benchmarks/System.CommandLine.Benchmarks.csproj
-+++ b/src/System.CommandLine.Benchmarks/System.CommandLine.Benchmarks.csproj
-@@ -9,8 +9,8 @@
- false
-
-
-- net461;net5.0;net6.0;
-- net5.0;net6.0;
-+ net461;net5.0;net6.0;net7.0
-+ net5.0;net6.0;net7.0
-
-
- False
-diff --git a/src/System.CommandLine.DragonFruit.Tests/System.CommandLine.DragonFruit.Tests.csproj b/src/System.CommandLine.DragonFruit.Tests/System.CommandLine.DragonFruit.Tests.csproj
-index 7eee0b38..e504f7e8 100644
---- a/src/System.CommandLine.DragonFruit.Tests/System.CommandLine.DragonFruit.Tests.csproj
-+++ b/src/System.CommandLine.DragonFruit.Tests/System.CommandLine.DragonFruit.Tests.csproj
-@@ -1,6 +1,6 @@
-
-
-- net6.0
-+ $(TargetFrameworkForNETSDK)
- AutoGeneratedProgram
-
- true
-diff --git a/src/System.CommandLine.Generator.Tests/System.CommandLine.Generator.Tests.csproj b/src/System.CommandLine.Generator.Tests/System.CommandLine.Generator.Tests.csproj
-index a423eb1e..20f0f410 100644
---- a/src/System.CommandLine.Generator.Tests/System.CommandLine.Generator.Tests.csproj
-+++ b/src/System.CommandLine.Generator.Tests/System.CommandLine.Generator.Tests.csproj
-@@ -1,6 +1,6 @@
-
-
-- net6.0
-+ $(TargetFrameworkForNETSDK)
- $(TargetFrameworks);net462
- true
- true
-diff --git a/src/System.CommandLine.Hosting.Tests/System.CommandLine.Hosting.Tests.csproj b/src/System.CommandLine.Hosting.Tests/System.CommandLine.Hosting.Tests.csproj
-index 328b4e12..8e2cd6ea 100644
---- a/src/System.CommandLine.Hosting.Tests/System.CommandLine.Hosting.Tests.csproj
-+++ b/src/System.CommandLine.Hosting.Tests/System.CommandLine.Hosting.Tests.csproj
-@@ -1,7 +1,7 @@
-
-
-
-- net6.0
-+ $(TargetFrameworkForNETSDK)
- $(TargetFrameworks);net462
- false
-
-diff --git a/src/System.CommandLine.NamingConventionBinder.Tests/System.CommandLine.NamingConventionBinder.Tests.csproj b/src/System.CommandLine.NamingConventionBinder.Tests/System.CommandLine.NamingConventionBinder.Tests.csproj
-index 43eb7c29..7bff1796 100644
---- a/src/System.CommandLine.NamingConventionBinder.Tests/System.CommandLine.NamingConventionBinder.Tests.csproj
-+++ b/src/System.CommandLine.NamingConventionBinder.Tests/System.CommandLine.NamingConventionBinder.Tests.csproj
-@@ -1,6 +1,6 @@
-
-
-- net6.0
-+ $(TargetFrameworkForNETSDK)
- $(TargetFrameworks);net462
- 10
-
-diff --git a/src/System.CommandLine.Rendering.Tests/System.CommandLine.Rendering.Tests.csproj b/src/System.CommandLine.Rendering.Tests/System.CommandLine.Rendering.Tests.csproj
-index 1c116508..afd6dc6a 100644
---- a/src/System.CommandLine.Rendering.Tests/System.CommandLine.Rendering.Tests.csproj
-+++ b/src/System.CommandLine.Rendering.Tests/System.CommandLine.Rendering.Tests.csproj
-@@ -1,7 +1,7 @@
-
-
-
-- net6.0
-+ $(TargetFrameworkForNETSDK)
- false
-
-
-diff --git a/src/System.CommandLine.Suggest.Tests/EndToEndTestApp/EndToEndTestApp.csproj b/src/System.CommandLine.Suggest.Tests/EndToEndTestApp/EndToEndTestApp.csproj
-index 9a3eb54d..76add0d5 100644
---- a/src/System.CommandLine.Suggest.Tests/EndToEndTestApp/EndToEndTestApp.csproj
-+++ b/src/System.CommandLine.Suggest.Tests/EndToEndTestApp/EndToEndTestApp.csproj
-@@ -6,7 +6,7 @@
-
-
- Exe
-- net6.0
-+ $(TargetFrameworkForNETSDK)
-
-
-
-diff --git a/src/System.CommandLine.Suggest.Tests/dotnet-suggest.Tests.csproj b/src/System.CommandLine.Suggest.Tests/dotnet-suggest.Tests.csproj
-index da6abedf..f1711a10 100644
---- a/src/System.CommandLine.Suggest.Tests/dotnet-suggest.Tests.csproj
-+++ b/src/System.CommandLine.Suggest.Tests/dotnet-suggest.Tests.csproj
-@@ -1,7 +1,7 @@
-
-
-
-- net6.0
-+ $(TargetFrameworkForNETSDK)
-
-
-
-diff --git a/src/System.CommandLine.Suggest/dotnet-suggest.csproj b/src/System.CommandLine.Suggest/dotnet-suggest.csproj
-index fd825008..ce4bda1d 100644
---- a/src/System.CommandLine.Suggest/dotnet-suggest.csproj
-+++ b/src/System.CommandLine.Suggest/dotnet-suggest.csproj
-@@ -1,7 +1,7 @@
-
-
- Exe
-- net6.0
-+ $(TargetFrameworkForNETSDK)
- true
- true
- dotnet-suggest
-diff --git a/src/System.CommandLine.Tests/System.CommandLine.Tests.csproj b/src/System.CommandLine.Tests/System.CommandLine.Tests.csproj
-index c1988ec4..44b5c9fc 100644
---- a/src/System.CommandLine.Tests/System.CommandLine.Tests.csproj
-+++ b/src/System.CommandLine.Tests/System.CommandLine.Tests.csproj
-@@ -1,6 +1,6 @@
-
-
-- net6.0
-+ $(TargetFrameworkForNETSDK)
- $(TargetFrameworks);net462
- false
-
-diff --git a/src/System.CommandLine.Tests/TestApps/NativeAOT/NativeAOT.csproj b/src/System.CommandLine.Tests/TestApps/NativeAOT/NativeAOT.csproj
-index b0036ed0..cc306fea 100644
---- a/src/System.CommandLine.Tests/TestApps/NativeAOT/NativeAOT.csproj
-+++ b/src/System.CommandLine.Tests/TestApps/NativeAOT/NativeAOT.csproj
-@@ -2,13 +2,13 @@
-
-
- Exe
-- net6.0
-+ $(TargetFrameworkForNETSDK)
-
- false
-
-
-
-- ..\..\..\System.CommandLine\bin\Release\net6.0\System.CommandLine.dll
-+ ..\..\..\System.CommandLine\bin\Release\$(TargetFrameworkForNETSDK)\System.CommandLine.dll
-
-
-
-diff --git a/src/System.CommandLine.Tests/TestApps/Trimming/Trimming.csproj b/src/System.CommandLine.Tests/TestApps/Trimming/Trimming.csproj
-index 6dcf8892..615b0764 100644
---- a/src/System.CommandLine.Tests/TestApps/Trimming/Trimming.csproj
-+++ b/src/System.CommandLine.Tests/TestApps/Trimming/Trimming.csproj
-@@ -2,7 +2,7 @@
-
-
- Exe
-- net6.0
-+ $(TargetFrameworkForNETSDK)
- enable
- enable
- true
-@@ -10,7 +10,7 @@
-
-
-
-- ..\..\..\System.CommandLine\bin\Release\net6.0\System.CommandLine.dll
-+ ..\..\..\System.CommandLine\bin\Release\$(TargetFrameworkForNETSDK)\System.CommandLine.dll
-
-
-
-diff --git a/src/System.CommandLine/System.CommandLine.csproj b/src/System.CommandLine/System.CommandLine.csproj
-index 424053a6..37115d70 100644
---- a/src/System.CommandLine/System.CommandLine.csproj
-+++ b/src/System.CommandLine/System.CommandLine.csproj
-@@ -3,7 +3,7 @@
-
- true
- System.CommandLine
-- net6.0;netstandard2.0
-+ $(TargetFrameworkForNETSDK);netstandard2.0
- enable
- true
- 10
-@@ -15,9 +15,12 @@
- * Test and debug support
-
- true
-+ true
-+
-+
-+
- true
- true
-- true
-
-
-
diff --git a/src/SourceBuild/tarball/patches/format/0001-Update-nullability-constraints-for-BeginScope-in-Sim.patch b/src/SourceBuild/tarball/patches/format/0001-Update-nullability-constraints-for-BeginScope-in-Sim.patch
deleted file mode 100644
index 2285f0472..000000000
--- a/src/SourceBuild/tarball/patches/format/0001-Update-nullability-constraints-for-BeginScope-in-Sim.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Logan Bussell
-Date: Mon, 16 May 2022 16:29:43 -0700
-Subject: [PATCH] Update nullability constraints for BeginScope in
- SimpleConsoleLogger
-
-Workaround for: https://github.com/dotnet/format/issues/1609
----
- src/Logging/SimpleConsoleLogger.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/Logging/SimpleConsoleLogger.cs b/src/Logging/SimpleConsoleLogger.cs
-index fd8015c..2971595 100644
---- a/src/Logging/SimpleConsoleLogger.cs
-+++ b/src/Logging/SimpleConsoleLogger.cs
-@@ -64,7 +64,7 @@ public bool IsEnabled(LogLevel logLevel)
- return (int)logLevel >= (int)_minimalLogLevel;
- }
-
-- public IDisposable BeginScope(TState state)
-+ public IDisposable? BeginScope(TState state) where TState : notnull
- {
- return NullScope.Instance;
- }
diff --git a/src/SourceBuild/tarball/patches/razor-compiler/0001-Add-NoWarn-for-NU1507.patch b/src/SourceBuild/tarball/patches/razor-compiler/0001-Add-NoWarn-for-NU1507.patch
deleted file mode 100644
index d1d297915..000000000
--- a/src/SourceBuild/tarball/patches/razor-compiler/0001-Add-NoWarn-for-NU1507.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Logan Bussell
-Date: Fri, 13 May 2022 16:14:14 -0700
-Subject: [PATCH] Add NoWarn for NU1507
-
-This warning occurs when using NuGet central package management without defining
-any Package Source Mappings.
-
-Workaround for: https://github.com/dotnet/razor-compiler/issues/242
----
- Directory.Build.props | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Directory.Build.props b/Directory.Build.props
-index a57125f5..019ac376 100644
---- a/Directory.Build.props
-+++ b/Directory.Build.props
-@@ -55,6 +55,7 @@
-
- $(NoWarn.Replace('1591', ''))
- $(NoWarn);0105
-+ $(NoWarn);NU1507
-
-
- $(WarningsNotAsErrors);CS1591
diff --git a/src/SourceBuild/tarball/patches/roslyn/0001-Use-the-source-built-version-of-ref-packs-and-don-t-.patch b/src/SourceBuild/tarball/patches/roslyn/0001-Use-the-source-built-version-of-ref-packs-and-don-t-.patch
deleted file mode 100644
index 1a9573cb5..000000000
--- a/src/SourceBuild/tarball/patches/roslyn/0001-Use-the-source-built-version-of-ref-packs-and-don-t-.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Chris Rummel
-Date: Thu, 15 Sep 2022 14:46:53 -0500
-Subject: [PATCH] Use the source-built version of ref packs and don't use app
- host when building in source-build.
-
-Backport PR: https://github.com/dotnet/roslyn/pull/64055.
-
----
- Directory.Build.targets | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/Directory.Build.targets b/Directory.Build.targets
-index 8f38a48cd95..dfb4fd33c9a 100644
---- a/Directory.Build.targets
-+++ b/Directory.Build.targets
-@@ -1,5 +1,20 @@
-
-
-+
-+
-+
-+ 6.0.0
-+
-+
-+ 6.0.0
-+
-+
-+
-+
-+
-+ false
-+
-+
-
-
-
diff --git a/src/SourceBuild/tarball/patches/sdk/0002-Look-for-msbuild-net7.0-artifacts.patch b/src/SourceBuild/tarball/patches/sdk/0002-Look-for-msbuild-net7.0-artifacts.patch
deleted file mode 100644
index dd0d19c7a..000000000
--- a/src/SourceBuild/tarball/patches/sdk/0002-Look-for-msbuild-net7.0-artifacts.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Logan Bussell
-Date: Tue, 20 Sep 2022 10:10:29 -0700
-Subject: [PATCH] Look for msbuild net7.0 artifacts
-
-Backport: https://github.com/dotnet/sdk/pull/28425
----
- .../Microsoft.DotNet.Cli.Utils.csproj | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-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 03ea923734..3246138cf9 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
-@@ -22,7 +22,7 @@
-
-
-
-- $(PkgMicrosoft_Build_Runtime)\contentFiles\any\net6.0\MSBuild.dll
-+ $(PkgMicrosoft_Build_Runtime)\contentFiles\any\net7.0\MSBuild.dll
-
-
-
diff --git a/src/finalizer/finalizer.cpp b/src/finalizer/finalizer.cpp
index c8f5eca6b..d68418b9b 100644
--- a/src/finalizer/finalizer.cpp
+++ b/src/finalizer/finalizer.cpp
@@ -447,7 +447,17 @@ extern "C" HRESULT DetectSdk(LPWSTR sczSdkFeatureBandVersion, LPWSTR sczArchitec
LogStringLine(REPORT_STANDARD, "Scanning %ls", sczInstalledSdkVersionsKeyName);
hr = RegOpen(HKEY_LOCAL_MACHINE, sczInstalledSdkVersionsKeyName, KEY_READ, &hkInstalledSdkVersionsKey);
- ExitOnFailure(hr, "Failed to read installed versions key.");
+
+ // When the last SDK is removed the registry key should no longer exist so we can just exit
+ if (E_FILENOTFOUND == hr)
+ {
+ LogStringLine(REPORT_STANDARD, "Registry key not found: %ls.", sczInstalledSdkVersionsKeyName);
+ hr = S_OK;
+ *pbInstalled = FALSE;
+ goto LExit;
+ }
+
+ ExitOnFailure(hr, "Failed to open registry key: %ls.", sczInstalledSdkVersionsKeyName);
for (DWORD dwSdkVersionsValueIndex = 0;; ++dwSdkVersionsValueIndex)
{
@@ -509,9 +519,10 @@ int wmain(int argc, wchar_t* argv[])
hr = ::DetectSdk(sczFeatureBandVersion, argv[3], &bSdkFeatureBandInstalled);
ExitOnFailure(hr, "Failed to detect installed SDKs.");
- if (!bSdkFeatureBandInstalled)
+ // If the feature band is still present, do not remove workloads.
+ if (bSdkFeatureBandInstalled)
{
- LogStringLine(REPORT_STANDARD, "SDK with feature band %ls could not be found.", sczFeatureBandVersion);
+ LogStringLine(REPORT_STANDARD, "Detected SDK with feature band %ls.", sczFeatureBandVersion);
goto LExit;
}
diff --git a/src/redist/targets/Crossgen.targets b/src/redist/targets/Crossgen.targets
index da7d186a1..399529689 100644
--- a/src/redist/targets/Crossgen.targets
+++ b/src/redist/targets/Crossgen.targets
@@ -29,7 +29,27 @@
BuildInParallel="False"
Projects="@(CrossGenDownloadPackageProject)">
-
+
+
+
+ net7.0
+
+ $(SdkOutputDirectory)Sdks\Microsoft.NET.Sdk\tools\$(DefaultToolTfm)\
+ $(SdkOutputDirectory)Sdks\Microsoft.NET.Sdk.BlazorWebAssembly\tools\$(DefaultToolTfm)\
+ $(SdkOutputDirectory)Sdks\NuGet.Build.Tasks.Pack\CoreCLR\
+ $(SdkOutputDirectory)Sdks\Microsoft.NET.Sdk.Razor\tasks\$(DefaultToolTfm)\
+ $(SdkOutputDirectory)Sdks\Microsoft.NET.Sdk.WindowsDesktop\tools\$(DefaultToolTfm)\
+ $(SdkOutputDirectory)Sdks\Microsoft.NET.ILLink.Tasks\tools\$(DefaultToolTfm)\
+ $(SdkOutputDirectory)Sdks\Microsoft.NET.Sdk.Publish\tools\$(DefaultToolTfm)\
+ $(SdkOutputDirectory)Sdks\Microsoft.NET.Sdk.Web\tools\$(DefaultToolTfm)\
+ $(SdkOutputDirectory)Sdks\Microsoft.NET.Sdk.Web.ProjectSystem\tools\$(DefaultToolTfm)\
+ $(SdkOutputDirectory)Sdks\Microsoft.NET.Sdk.Worker\tools\$(DefaultToolTfm)\
+
+
@@ -49,16 +69,16 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -121,6 +141,21 @@
false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
30
- $([MSBuild]::Add($(VersionFeature), 30))
+ 32
17
$([MSBuild]::Add($(VersionFeature), 10))
diff --git a/src/redist/targets/packaging/deb/postinst b/src/redist/targets/packaging/deb/postinst
index 615c17e6b..696ec8acc 100644
--- a/src/redist/targets/packaging/deb/postinst
+++ b/src/redist/targets/packaging/deb/postinst
@@ -4,6 +4,5 @@ first_run() {
/usr/share/dotnet/dotnet exec /usr/share/dotnet/sdk/%SDK_VERSION%/dotnet.dll internal-reportinstallsuccess "debianpackage" > /dev/null 2>&1 || true
}
-INSTALL_TEMP_HOME=/tmp/dotnet-installer
-[ -d $INSTALL_TEMP_HOME ] || mkdir $INSTALL_TEMP_HOME
+INSTALL_TEMP_HOME=$(mktemp -d) # mktemp should set 700 perm automatically
HOME=$INSTALL_TEMP_HOME first_run
diff --git a/src/redist/targets/packaging/osx/clisdk/scripts/postinstall b/src/redist/targets/packaging/osx/clisdk/scripts/postinstall
index 28339be99..86710223d 100644
--- a/src/redist/targets/packaging/osx/clisdk/scripts/postinstall
+++ b/src/redist/targets/packaging/osx/clisdk/scripts/postinstall
@@ -12,7 +12,7 @@ first_run() {
$INSTALL_DESTINATION/dotnet exec $INSTALL_DESTINATION/sdk/%SDK_VERSION%/dotnet.dll internal-reportinstallsuccess "$1" > /dev/null 2>&1 || true
}
-[ -d $INSTALL_TEMP_HOME ] || mkdir $INSTALL_TEMP_HOME
+INSTALL_TEMP_HOME=$(mktemp -d) # mktemp should set 700 perm automatically
HOME=$INSTALL_TEMP_HOME first_run
exit 0
diff --git a/src/redist/targets/packaging/windows/clisdk/bundle.wxs b/src/redist/targets/packaging/windows/clisdk/bundle.wxs
index 346e66d75..bac843303 100644
--- a/src/redist/targets/packaging/windows/clisdk/bundle.wxs
+++ b/src/redist/targets/packaging/windows/clisdk/bundle.wxs
@@ -151,7 +151,31 @@
-
+
+
+
+
+
@@ -208,20 +232,7 @@
-
-
+
diff --git a/test/EndToEnd/TelemetryOptOutDefaultTests.cs b/test/EndToEnd/TelemetryOptOutDefaultTests.cs
new file mode 100644
index 000000000..1e2d2ecef
--- /dev/null
+++ b/test/EndToEnd/TelemetryOptOutDefaultTests.cs
@@ -0,0 +1,24 @@
+using System.IO;
+using FluentAssertions;
+using Microsoft.DotNet.Tools.Test.Utilities;
+using Xunit;
+
+namespace EndToEnd.Tests
+{
+ public class TelemetryOptOutDefault : TestBase
+ {
+ [Fact]
+ public void TelemetryOptOutDefaultAttribute()
+ {
+ var versionCommand = new DotnetCommand()
+ .ExecuteWithCapturedOutput("--version");
+
+ var sdkVersion = versionCommand.StdOut.Trim();
+
+ var dotnetdir = Path.Combine(Path.GetDirectoryName(RepoDirectoriesProvider.DotnetUnderTest), "sdk", sdkVersion);
+
+ var result = AssemblyInfo.Get(Path.Combine(dotnetdir, "dotnet.dll"), "AssemblyMetadataAttribute");
+ result.Should().Contain("TelemetryOptOutDefault:False");
+ }
+ }
+}
diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/AssemblyInfo.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/AssemblyInfo.cs
new file mode 100644
index 000000000..f02cfbeb3
--- /dev/null
+++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/AssemblyInfo.cs
@@ -0,0 +1,78 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Reflection.Metadata;
+using System.Reflection.PortableExecutable;
+using System.Text;
+
+namespace Microsoft.DotNet.Tools.Test.Utilities
+{
+ public static class AssemblyInfo
+ {
+ public static IList Get(string assemblyPath, string assemblyInfoName)
+ {
+ var list = new List();
+
+ using (var stream = File.OpenRead(assemblyPath))
+ using (var peReader = new PEReader(stream))
+ {
+ var metadataReader = peReader.GetMetadataReader();
+ var assemblyDefinition = metadataReader.GetAssemblyDefinition();
+
+ foreach (var handle in assemblyDefinition.GetCustomAttributes())
+ {
+ var attribute = metadataReader.GetCustomAttribute(handle);
+ var constructor = metadataReader.GetMemberReference((MemberReferenceHandle)attribute.Constructor);
+ var type = metadataReader.GetTypeReference((TypeReferenceHandle)constructor.Parent);
+ var name = metadataReader.GetString(type.Name);
+
+ if (name.Equals(assemblyInfoName))
+ {
+ var signature = metadataReader.GetBlobReader(constructor.Signature);
+ var value = metadataReader.GetBlobReader(attribute.Value);
+ var header = signature.ReadSignatureHeader();
+
+ const ushort prolog = 1; // two-byte "prolog" defined by ECMA-335 (II.23.3) to be at the beginning of attribute value blobs
+ if (value.ReadUInt16() != prolog || header.Kind != SignatureKind.Method || header.IsGeneric)
+ {
+ throw new BadImageFormatException();
+ }
+
+ var paramCount = signature.ReadCompressedInteger();
+ if (paramCount <= 0 || // must have at least 1 parameter
+ signature.ReadSignatureTypeCode() != SignatureTypeCode.Void) // return type must be void
+ {
+ continue;
+ }
+
+ var sb = new StringBuilder();
+ while (paramCount > 0 && sb != null)
+ {
+ switch (signature.ReadSignatureTypeCode())
+ {
+ case SignatureTypeCode.String:
+ sb.Append(value.ReadSerializedString());
+ break;
+ default:
+ sb = null;
+ break;
+ }
+
+ paramCount--;
+ if (paramCount != 0)
+ {
+ sb?.Append(':');
+ }
+ }
+
+ if (sb != null)
+ {
+ list.Add(sb.ToString());
+ }
+ }
+ }
+ }
+ return list;
+ }
+ }
+}