-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Describe the bug
Setting DOTNET_ROOT doesn't seem to affect all steps in dotnet run. It seem like the restore step works, but when it goes to run the application, it ignores the environment variable and uses a default path.
To Reproduce
I'm not sure how to reproduce this publicly. We have an odd setup with a number of symlinks between the sdk/runtime versions. But below is the output if i try to run a simple helloworld program.
DOTNET_ROOT=/bb/bin/dotnetsdk /bb/bin/dotnet run helloworld8.csproj
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error You must install .NET to run this application.
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error App: /bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/bincore/csc
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error Architecture: x64
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error App host version: 10.0.0
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error .NET location: Not found
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error The following locations were searched:
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error Application directory:
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error /bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/bincore/
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error Environment variable:
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error DOTNET_ROOT = /bb/bin/package/d/dotnet-muxer/10.0.101.1-1+b20251111T19033819.devise/bin/dotnetsdk
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error Learn more:
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error https://aka.ms/dotnet/app-launch-failed
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error Download the .NET runtime:
/bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/Roslyn/Microsoft.CSharp.Core.targets(84,5): error https://aka.ms/dotnet-core-applaunch?missing_runtime=true&arch=x64&rid=linux-x64&os=rhel.8&apphost_version=10.0.0
You can see even with DOTNET_ROOT set, internally its pointing DOTNET_ROOT to another location.
Exceptions (if any)
Further technical details
details of dotnet --info
/bb/bin/dotnet --info .NET SDK: Version: 10.0.100 Commit: b0f34d51fc Workload version: 10.0.100-manifests.e3b0c442 MSBuild version: 18.0.2+b0f34d51f
Runtime Environment:
OS Name: rhel
OS Version: 8
OS Platform: Linux
RID: linux-x64
Base Path: /bb/bin/package/d/dotnet-sdk-10.0/10.0.101.1-1+b20251111T21474698.devise/bin/dotnetsdk/sdk/10.0.100/
.NET workloads installed:
There are no installed workloads to display.
Configured to use workload sets when installing new manifests.
No workload sets are installed. Run "dotnet workload restore" to install a workload set.
Host:
Version: 10.0.100
Architecture: x64
Commit: b0f34d51fc
.NET SDKs installed:
8.0.415 [/bb/bin/dotnetsdk/sdk]
10.0.100 [/bb/bin/dotnetsdk/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 8.0.21 [/bb/bin/dotnetsdk/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 10.0.0 [/bb/bin/dotnetsdk/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 8.0.21 [/bb/bin/dotnetsdk/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 10.0.0 [/bb/bin/dotnetsdk/shared/Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
DOTNET_CLI_TELEMETRY_OPTOUT [1]
DOTNET_NUGET_SIGNATURE_VERIFICATION [false]
DOTNET_ROOT [/bb/bin/dotnetsdk]
DOTNET_ROOT_X64 [/bb/bin/dotnetsdk]
DOTNET_SKIP_FIRST_TIME_EXPERIENCE [1]
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download