Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 29, 2025

DOTNET_MULTILEVEL_LOOKUP has been non-functional for multiple releases. This removes all code that sets this environment variable throughout the repo.

Addresses #121327

Changes

Build infrastructure:

  • dotnet.sh, dotnet.cmd
  • eng/build.ps1
  • eng/common/tools.sh, eng/common/tools.ps1
  • eng/testing/RunnerTemplate.sh, eng/testing/RunnerTemplate.cmd
  • eng/pipelines/common/macos-sign-with-entitlements.yml

Devcontainer configs:

  • All .devcontainer/*/devcontainer.json files

Test infrastructure:

  • src/mono/wasm/Wasm.Build.Tests/Common/{RunCommand,BuildEnvironment,ToolCommand}.cs
  • src/coreclr/scripts/superpmi_aspnet.py, superpmi_aspnet2.py
  • src/libraries/Common/tests/System/Net/StressTests/build-local.{sh,ps1}
  • src/libraries/System.Net.Http/tests/StressTests/HttpStress/load-corefx-testhost.ps1

Not modified

  • src/installer/tests/TestUtils/Constants.cs — defines constant for test utilities
  • src/native/corehost/hostmisc/utils.cpp — reads the variable (host implementation)
  • docs/design/features/host-component-dependencies-resolution.md — documentation
Original prompt

This section details on the original issue you should resolve

<issue_title>Remove logic for multi-level lookup</issue_title>
<issue_description>DOTNET_MULTILEVEL_LOOKUP does not do anything for multiple releases now. I think it can be deleted everywhere.

Originally posted by @jkotas in #121326 (comment)
</issue_description>

<agent_instructions>Delete all code that sets DOTNET_MULTILEVEL_LOOKUP environment variable in this repo</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@jkotas jkotas requested a review from elinor-fung November 29, 2025 01:56
@jkotas jkotas marked this pull request as ready for review November 29, 2025 01:56
@jkotas jkotas requested a review from maraf as a code owner November 29, 2025 01:56
Copilot AI review requested due to automatic review settings November 29, 2025 01:56
@jkotas jkotas requested a review from ilonatommy as a code owner November 29, 2025 01:56
Copilot AI changed the title [WIP] Remove logic for multi-level lookup Remove DOTNET_MULTILEVEL_LOOKUP environment variable settings Nov 29, 2025
Copilot AI requested a review from jkotas November 29, 2025 01:57
Copilot finished work on behalf of jkotas November 29, 2025 01:57
@dotnet-policy-service
Copy link
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

Copilot finished reviewing on behalf of jkotas November 29, 2025 01:59
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR systematically removes the DOTNET_MULTILEVEL_LOOKUP environment variable setting from build scripts, test infrastructure, and development environment configurations throughout the repository. The variable no longer serves any functional purpose and its removal simplifies the codebase.

Key Changes

  • Removed DOTNET_MULTILEVEL_LOOKUP=0 settings from build and test scripts
  • Cleaned up devcontainer JSON configuration files
  • Updated Python scripts used for SuperPMI benchmarking

Reviewed changes

Copilot reviewed 19 out of 21 changed files in this pull request and generated no comments.

Show a summary per file
File Description
dotnet.cmd Removed DOTNET_MULTILEVEL_LOOKUP setting from Windows dotnet wrapper script
dotnet.sh Removed DOTNET_MULTILEVEL_LOOKUP setting from Unix dotnet wrapper script
eng/build.ps1 Removed DOTNET_MULTILEVEL_LOOKUP setting from main PowerShell build script
eng/common/tools.ps1 Removed DOTNET_MULTILEVEL_LOOKUP setting and pipeline variable (2 locations)
eng/common/tools.sh Removed DOTNET_MULTILEVEL_LOOKUP setting and pipeline variable (2 locations)
eng/testing/RunnerTemplate.cmd Removed DOTNET_MULTILEVEL_LOOKUP setting from Windows test runner template
eng/testing/RunnerTemplate.sh Removed DOTNET_MULTILEVEL_LOOKUP setting from Unix test runner template
eng/pipelines/common/macos-sign-with-entitlements.yml Removed DOTNET_MULTILEVEL_LOOKUP from macOS signing pipeline environment
src/coreclr/scripts/superpmi_aspnet.py Removed DOTNET_MULTILEVEL_LOOKUP from SuperPMI aspnet benchmarking script
src/coreclr/scripts/superpmi_aspnet2.py Removed DOTNET_MULTILEVEL_LOOKUP from SuperPMI aspnet2 benchmarking script
src/libraries/Common/tests/System/Net/StressTests/build-local.ps1 Removed DOTNET_MULTILEVEL_LOOKUP from stress test build script
src/libraries/Common/tests/System/Net/StressTests/build-local.sh Removed DOTNET_MULTILEVEL_LOOKUP from Unix stress test build script
src/libraries/System.Net.Http/tests/StressTests/HttpStress/load-corefx-testhost.ps1 Removed DOTNET_MULTILEVEL_LOOKUP and fixed trailing whitespace
src/mono/wasm/Wasm.Build.Tests/Common/BuildEnvironment.cs Removed DOTNET_MULTILEVEL_LOOKUP from WASM test build environment configuration
src/mono/wasm/Wasm.Build.Tests/Common/RunCommand.cs Removed DOTNET_MULTILEVEL_LOOKUP from WASM test run command
src/mono/wasm/Wasm.Build.Tests/Common/ToolCommand.cs Removed DOTNET_MULTILEVEL_LOOKUP from WASM test tool command environment
.devcontainer/devcontainer.json Removed DOTNET_MULTILEVEL_LOOKUP from standard devcontainer environment
.devcontainer/android/devcontainer.json Removed DOTNET_MULTILEVEL_LOOKUP from Android devcontainer environment
.devcontainer/libraries/devcontainer.json Removed DOTNET_MULTILEVEL_LOOKUP from libraries devcontainer environment
.devcontainer/wasm/devcontainer.json Removed DOTNET_MULTILEVEL_LOOKUP from WASM devcontainer environment
.devcontainer/wasm-multiThreaded/devcontainer.json Removed DOTNET_MULTILEVEL_LOOKUP from multi-threaded WASM devcontainer environment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Remove logic for multi-level lookup

2 participants