diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 41e39612dd..b345c7bb11 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -33,8 +33,7 @@ // This allows developers to just use 'dotnet build' on the command-line, and the local dotnet version will be used. // Add the global tools dir to the PATH so that globally installed tools will work "remoteEnv": { - "PATH": "${containerWorkspaceFolder}/.dotnet:${containerWorkspaceFolder}/.dotnet-tools-global:${containerEnv:PATH}", - "DOTNET_MULTILEVEL_LOOKUP": "0" + "PATH": "${containerWorkspaceFolder}/.dotnet:${containerWorkspaceFolder}/.dotnet-tools-global:${containerEnv:PATH}" }, // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. diff --git a/Directory.Build.props b/Directory.Build.props index c2fceffbab..68a9adf5ae 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -14,6 +14,7 @@ + https://github.com/dotnet/diagnostics http://go.microsoft.com/fwlink/?LinkID=288859 git MIT diff --git a/NuGet.config b/NuGet.config index 2dc10a79b4..3bb324b16f 100644 --- a/NuGet.config +++ b/NuGet.config @@ -7,13 +7,14 @@ - + + diff --git a/dotnet.cmd b/dotnet.cmd index d6d258846e..052d6fb75a 100644 --- a/dotnet.cmd +++ b/dotnet.cmd @@ -14,9 +14,6 @@ set /p dotnetPath=<%~dp0artifacts\toolset\sdk.txt :: misleading value (such as 'MCD' in HP PCs) may lead to build breakage (issue: #69). set Platform= -:: Don't resolve runtime, shared framework, or SDK from other locations to ensure build determinism -set DOTNET_MULTILEVEL_LOOKUP=0 - :: Disable first run since we want to control all package sources set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 diff --git a/dotnet.sh b/dotnet.sh index a612ebac1c..59df999a59 100755 --- a/dotnet.sh +++ b/dotnet.sh @@ -12,9 +12,6 @@ while [[ -h $source ]]; do done scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" -# Don't resolve runtime, shared framework, or SDK from other locations to ensure build determinism -export DOTNET_MULTILEVEL_LOOKUP=0 - # Disable first run since we want to control all package sources export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 diff --git a/eng/Version.Details.props b/eng/Version.Details.props index a347f62648..21722ff9d2 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -14,24 +14,24 @@ This file should be imported by eng/Versions.props 1.0.105-preview.225 10.0.0-beta.26062.3 - 10.0.0-beta.26062.3 7.0.0-beta.22316.2 - 10.0.2 - 10.0.2-servicing.25603.103 - 5.0.0-2.25603.103 - 5.0.0-2.25603.103 - 5.0.0-2.25603.103 - 10.0.102 - 10.0.102-servicing.25603.103 - 10.0.2 - 10.0.2-servicing.25603.103 - 10.0.2-servicing.25603.103 - 10.0.2-servicing.25603.103 - 10.0.2-servicing.25603.103 - 10.0.2-servicing.25603.103 - 10.0.2-servicing.25603.103 - 10.0.2-servicing.25603.103 + 11.0.0-preview.1.26071.101 + 11.0.0-preview.1.26071.101 + 5.4.0-2.26071.101 + 5.4.0-2.26071.101 + 5.4.0-2.26071.101 + 11.0.100-preview.1.26071.101 + 11.0.0-beta.26071.101 + 11.0.100-preview.1.26071.101 + 11.0.0-preview.1.26071.101 + 11.0.0-preview.1.26071.101 + 11.0.0-preview.1.26071.101 + 11.0.0-preview.1.26071.101 + 11.0.0-preview.1.26071.101 + 11.0.0-preview.1.26071.101 + 11.0.0-preview.1.26071.101 + 11.0.0-preview.1.26071.101 @@ -44,7 +44,6 @@ This file should be imported by eng/Versions.props $(XamarinAndroidToolsAndroidSdkPackageVersion) $(MicrosoftDotNetArcadeSdkPackageVersion) - $(MicrosoftDotNetCodeAnalysisPackageVersion) $(MicrosoftDotNetRemoteExecutorPackageVersion) $(MicrosoftAspNetCoreAppRefPackageVersion) @@ -53,6 +52,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisAnalyzersPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisNetAnalyzersPackageVersion) + $(MicrosoftDotNetCodeAnalysisPackageVersion) $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETCoreAppRefPackageVersion) $(MicrosoftNETCorePlatformsPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index c5ffec1fd9..9c80bc5a7a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,5 +1,5 @@ - + https://github.com/microsoft/clrmd @@ -23,84 +23,84 @@ https://github.com/dotnet/arcade 9f518f2be968c4c0102c2e3f8c793c5b7f28b731 - - https://github.com/dotnet/arcade - 9f518f2be968c4c0102c2e3f8c793c5b7f28b731 + + https://github.com/dotnet/dotnet + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 https://github.com/dotnet/arcade ccfe6da198c5f05534863bbb1bff66e830e0c6ab - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 - + https://github.com/dotnet/dotnet - 5ddd0ddc0ebadca21645a05c419ed5a034454605 + 4707d71d0936130c7ef3fe7c9e5f5f755561c8a8 diff --git a/eng/Versions.props b/eng/Versions.props index 3a4464aa77..7e5760c163 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -1,9 +1,14 @@ - + + + - https://github.com/dotnet/diagnostics - preview 9.0.0 + preview + + + + true true true + + + false + - - false 1.13.1 1.45.0 12.23.0 @@ -76,6 +83,7 @@ --> $(MicrosoftCodeAnalysisVersion_LatestVS) + @@ -131,6 +142,7 @@ net10.0 + @@ -144,4 +156,5 @@ $(ExtraInstallArgs) + diff --git a/eng/native/ijw/getRefPackFolderFromSdk.ps1 b/eng/native/ijw/getRefPackFolderFromSdk.ps1 index 1b59248cb4..f4ebd3fec9 100644 --- a/eng/native/ijw/getRefPackFolderFromSdk.ps1 +++ b/eng/native/ijw/getRefPackFolderFromSdk.ps1 @@ -14,14 +14,17 @@ $dotnetSdkVersion = $GlobalJson.tools.dotnet $sdkBundledVersionsFile = "$dotnetRoot/sdk/$dotnetSdkVersion/Microsoft.NETCoreSdk.BundledVersions.props" $refPackVersion = Select-Xml -Path $sdkBundledVersionsFile -XPath "/Project/PropertyGroup/BundledNETCoreAppPackageVersion" | %{$_.Node.InnerText} -$refPackTfmVersion = Select-Xml -Path $sdkBundledVersionsFile -XPath "/Project/PropertyGroup/BundledNETCoreAppTargetFrameworkVersion" | %{$_.Node.InnerText} -$refPackPath = "$dotnetRoot/packs/Microsoft.NETCore.App.Ref/$refPackVersion/ref/net$refPackTfmVersion" +# The actual path to assemblies is defined by the information in data/FrameworkList.xml, but we don't need to read that. Instead just find the path to System.Runtime.dll and use its folder. +$refPackBase = "$dotnetRoot/packs/Microsoft.NETCore.App.Ref/$refPackVersion/ref" +$systemRuntimeDll = Get-ChildItem -Path $refPackBase -Recurse -Filter "System.Runtime.dll" | Select-Object -First 1 -if (-not (Test-Path $refPackPath)) +if (-not $systemRuntimeDll) { Write-Error "Reference assemblies not found in the SDK folder. Did the SDK layout change? Did the SDK change how it describes the bundled runtime version?" exit 1 } +$refPackPath = Split-Path $systemRuntimeDll.FullName -Parent + Write-Output "refPackPath=$refPackPath" diff --git a/src/Microsoft.Diagnostics.TestHelpers/DotNetBuildDebuggeeTestStep.cs b/src/Microsoft.Diagnostics.TestHelpers/DotNetBuildDebuggeeTestStep.cs index 91c0d0d52f..b0fe89ddf9 100644 --- a/src/Microsoft.Diagnostics.TestHelpers/DotNetBuildDebuggeeTestStep.cs +++ b/src/Microsoft.Diagnostics.TestHelpers/DotNetBuildDebuggeeTestStep.cs @@ -195,7 +195,6 @@ protected async Task Restore(string extraArgs, ITestOutputHelper output) } output.WriteLine("Launching {0} {1}", DotNetToolPath, args); ProcessRunner runner = new ProcessRunner(DotNetToolPath, args) - .WithEnvironmentVariable("DOTNET_MULTILEVEL_LOOKUP", "0") .WithEnvironmentVariable("DOTNET_ROOT", Path.GetDirectoryName(DotNetToolPath)) .WithEnvironmentVariable("DOTNET_CLI_DO_NOT_USE_MSBUILD_SERVER", "true") .WithEnvironmentVariable("DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR", Path.GetDirectoryName(DotNetToolPath)) @@ -243,7 +242,6 @@ protected async Task Build(string dotnetArgs, ITestOutputHelper output) output.WriteLine("Launching {0} {1}", DotNetToolPath, dotnetArgs); ProcessRunner runner = new ProcessRunner(DotNetToolPath, dotnetArgs) - .WithEnvironmentVariable("DOTNET_MULTILEVEL_LOOKUP", "0") .WithEnvironmentVariable("DOTNET_ROOT", Path.GetDirectoryName(DotNetToolPath)) .WithEnvironmentVariable("DOTNET_CLI_DO_NOT_USE_MSBUILD_SERVER", "true") .WithEnvironmentVariable("DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR", Path.GetDirectoryName(DotNetToolPath)) diff --git a/src/SOS/SOS.Package/SOS.Package.csproj b/src/SOS/SOS.Package/SOS.Package.csproj index 90c8c85608..f9688559c9 100644 --- a/src/SOS/SOS.Package/SOS.Package.csproj +++ b/src/SOS/SOS.Package/SOS.Package.csproj @@ -41,7 +41,7 @@ - + diff --git a/src/tests/CommonTestRunner/TestRunner.cs b/src/tests/CommonTestRunner/TestRunner.cs index 47497f6826..e42383cc5b 100644 --- a/src/tests/CommonTestRunner/TestRunner.cs +++ b/src/tests/CommonTestRunner/TestRunner.cs @@ -82,7 +82,6 @@ public static async Task Create(TestConfiguration config, ITestOutpu // Create the native debugger process running ProcessRunner processRunner = new ProcessRunner(exePath, arguments.ToString()). - WithEnvironmentVariable("DOTNET_MULTILEVEL_LOOKUP", "0"). WithEnvironmentVariable("DOTNET_ROOT", config.DotNetRoot). WithLog(outputHelper); diff --git a/src/tests/SOS.UnitTests/SOSRunner.cs b/src/tests/SOS.UnitTests/SOSRunner.cs index 80fed0eb5e..2e03f133f0 100644 --- a/src/tests/SOS.UnitTests/SOSRunner.cs +++ b/src/tests/SOS.UnitTests/SOSRunner.cs @@ -322,7 +322,6 @@ public static async Task CreateDump(TestInformation information) // Create the debuggee process runner ProcessRunner processRunner = new ProcessRunner(exePath, ReplaceVariables(variables, arguments.ToString())). - WithEnvironmentVariable("DOTNET_MULTILEVEL_LOOKUP", "0"). WithEnvironmentVariable("DOTNET_ROOT", config.DotNetRoot). WithRuntimeConfiguration("DbgEnableElfDumpOnMacOS", "1"). WithLog(new TestRunner.TestLogger(outputHelper.IndentedOutput)). @@ -694,7 +693,6 @@ public static async Task StartDebugger(TestInformation information, D // Create the native debugger process running ProcessRunner processRunner = new ProcessRunner(debuggerPath, ReplaceVariables(variables, arguments.ToString())). - WithEnvironmentVariable("DOTNET_MULTILEVEL_LOOKUP", "0"). WithEnvironmentVariable("DOTNET_ROOT", config.DotNetRoot). WithLog(scriptLogger). WithTimeout(TimeSpan.FromMinutes(10)); diff --git a/start-vscode.sh b/start-vscode.sh index 310536dddb..4a19118541 100755 --- a/start-vscode.sh +++ b/start-vscode.sh @@ -6,9 +6,6 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" export DOTNET_ROOT="$DIR/.dotnet" -# This tells .NET Core not to go looking for .NET Core in other places -export DOTNET_MULTILEVEL_LOOKUP=0 - # Put our local dotnet on PATH first so Visual Studio knows which one to use export PATH="$DOTNET_ROOT:$PATH"