dotnet / dotnet/vscode-dotnet-runtime

Extenstion no longer accept environment variable in `dotnetAcquisitionExtension.sharedExistingDotnetPath`

Open
#2,104 4 comments 0 reactions 0 assignees View on GitHub
untriaged
Dominant language
TypeScript
Stars
209
Forks
455
PR merge metrics
No merged PRs in 30d

Description

Type: Bug

## Issue Description ##
I have `dotnetAcquisitionExtension.sharedExistingDotnetPath` set to `${env:ProgramFiles}\\dotnet\\dotnet.exe`
It works fine with 2.55.29 but fails on 2.61.28 and pre release 2.62.18
It works fine when `dotnetAcquisitionExtension.sharedExistingDotnetPath` set to `C:\\Program Files\\dotnet\\dotnet.exe`

### C# log ###
```
2025-01-25 06:50:59.305 [info] [Error - 6:50:59 AM] [LanguageServerProjectSystem] Error while loading c:\Path\Project.csproj: Exception thrown: System.UriFormatException: Failed create URI from '${env:ProgramFiles}\dotnet\packs'; original string: '${env:ProgramFiles}\dotnet\packs'
---> System.UriFormatException: Invalid URI: The URI scheme is not valid.
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions)
at System.Uri..ctor(String uriString, UriKind uriKind)
at Microsoft.CodeAnalysis.LanguageServer.ProtocolConversions.CreateAbsoluteUri(String absolutePath) in /_/src/LanguageServer/Protocol/Extensions/ProtocolConversions.cs:line 202
--- End of inner exception stack trace ---
at Microsoft.CodeAnalysis.LanguageServer.ProtocolConversions.CreateAbsoluteUri(String absolutePath) in /_/src/LanguageServer/Protocol/Extensions/ProtocolConversions.cs:line 210
at Microsoft.CodeAnalysis.LanguageServer.ProtocolConversions.CreateRelativePatternBaseUri(String path) in /_/src/LanguageServer/Protocol/Extensions/ProtocolConversions.cs:line 227
at Microsoft.CodeAnalysis.LanguageServer.HostWorkspace.FileWatching.LspFileChangeWatcher.FileChangeContext.<>c.<.ctor>b__7_0(WatchedDirectory d) in /_/src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/HostWorkspace/FileWatching/LspFileChangeWatcher.cs:line 87
at System.Linq.Enumerable.ArraySelectIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
at System.Linq.Enumerable.ArraySelectIterator`2.ToArray()
at Microsoft.CodeAnalysis.LanguageServer.HostWorkspace.FileWatching.LspFileChangeWatcher.FileChangeContext..ctor(ImmutableArray`1 watchedDirectories, LspFileChangeWatcher lspFileChangeWatcher) in /_/src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/HostWorkspace/FileWatching/LspFileChangeWatcher.cs:line 78
at Microsoft.CodeAnalysis.LanguageServer.HostWorkspace.FileWatching.LspFileChangeWatcher.CreateContext(ImmutableArray`1 watchedDirectories) in /_/src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/HostWorkspace/FileWatching/LspFileChangeWatcher.cs:line 44
at Microsoft.CodeAnalysis.LanguageServer.HostWorkspace.FileWatching.DelegatingFileChangeWatcher.CreateContext(ImmutableArray`1 watchedDirectories) in /_/src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/HostWorkspace/FileWatching/DelegatingFileChangeWatcher.cs:line 45
at Microsoft.CodeAnalysis.ProjectSystem.FileWatchedReferenceFactory`1.<>c__DisplayClass6_0.<.ctor>b__0() in /_/src/Workspaces/Core/Portable/Workspace/ProjectSystem/FileWatchedPortableExecutableReferenceFactory.cs:line 68
at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
--- End of stack trace from previous location ---
at System.Lazy`1.CreateValue()
at Microsoft.CodeAnalysis.ProjectSystem.FileWatchedReferenceFactory`1.<>c__DisplayClass7_0.b__0(String _) in /_/src/Workspaces/Core/Portable/Workspace/ProjectSystem/FileWatchedPortableExecutableReferenceFactory.cs:line 127
at Roslyn.Utilities.IDictionaryExtensions.GetOrAdd[K,V](IDictionary`2 dictionary, K key, Func`2 function) in /_/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Utilities/IDictionaryExtensions.cs:line 21
at Microsoft.CodeAnalysis.ProjectSystem.FileWatchedReferenceFactory`1.StartWatchingReference(String fullFilePath) in /_/src/Workspaces/Core/Portable/Workspace/ProjectSystem/FileWatchedPortableExecutableReferenceFactory.cs:line 125
at Microsoft.CodeAnalysis.Workspaces.ProjectSystem.ProjectSystemProjectFactory.ApplyProjectUpdateState(ProjectUpdateState projectUpdateState) in /_/src/Workspaces/Core/Portable/Workspace/ProjectSystem/ProjectSystemProjectFactory.cs:line 430
at Microsoft.CodeAnalysis.Workspaces.ProjectSystem.ProjectSystemProjectFactory.ApplyBatchChangeToWorkspaceMaybe_NoLockAsync(Boolean useAsync, Func`3 mutation, Action`1 onAfterUpdateAlways) in /_/src/Workspaces/Core/Portable/Workspace/ProjectSystem/ProjectSystemProjectFactory.cs:line 348
at Microsoft.CodeAnalysis.Workspaces.ProjectSystem.ProjectSystemProjectFactory.ApplyBatchChangeToWorkspaceMaybeAsync(Boolean useAsync, Func`3 mutation, Action`1 onAfterUpdateAlways) in /_/src/Workspaces/Core/Portable/Workspace/ProjectSystem/ProjectSystemProjectFactory.cs:line 294
at Microsoft.CodeAnalysis.Workspaces.ProjectSystem.ProjectSystemProject.OnBatchScopeDisposedMaybeAsync(Boolean useAsync) in /_/src/Workspaces/Core/Portable/Workspace/ProjectSystem/ProjectSystemProject.cs:line 577
at Microsoft.CodeAnalysis.Workspaces.ProjectSystem.ProjectSystemProject.BatchScope.DisposeAsync() in /_/src/Workspaces/Core/Portable/Workspace/ProjectSystem/ProjectSystemProject.cs:line 546
at Microsoft.CodeAnalysis.LanguageServer.HostWorkspace.LoadedProject.UpdateWithNewProjectInfoAsync(ProjectFileInfo newProjectInfo, ILogger logger) in /_/src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/HostWorkspace/LoadedProject.cs:line 238
at Microsoft.CodeAnalysis.LanguageServer.HostWorkspace.LanguageServerProjectSystem.LoadOrReloadProjectAsync(ProjectToLoad projectToLoad, ToastErrorReporter toastErrorReporter, BuildHostProcessManager buildHostProcessManager, CancellationToken cancellationToken) in /_/src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/HostWorkspace/LanguageServerProjectSystem.cs:line 284
```
## Environment information ##

Extension version: 2.62.18
VS Code version: Code 1.96.3 (91fbdddc47bc9c09064bf7acf133d22631cbf083, 2025-01-09T18:14:09.060Z)
OS version: Windows_NT x64 10.0.26100

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.