File tree Expand file tree Collapse file tree 2 files changed +5
-8
lines changed Expand file tree Collapse file tree 2 files changed +5
-8
lines changed Original file line number Diff line number Diff line change 9
9
- Debug from .csproj and .sln [ #5876 ] ( https://github.com/dotnet/vscode-csharp/issues/5876 )
10
10
11
11
## Latest
12
+ * Fix UriFormatException during dotnet SDK resolution when symlinks are involved (PR: [ #6230 ] ( https://github.com/dotnet/vscode-csharp/pull/6230 ) )
13
+
14
+ ## 2.0.413
12
15
* Update Roslyn version (PR: [ #6192 ] ( https://github.com/dotnet/vscode-csharp/pull/6192 ) )
13
16
* Add support for compilation end diagnostics (PR: [ #69541 ] ( https://github.com/dotnet/roslyn/pull/69541 ) )
14
17
* Include CodeLens on more types and members (PR: [ #69608 ] ( https://github.com/dotnet/roslyn/pull/69608 ) )
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ import { CSharpExtensionId } from '../constants/csharpExtensionId';
15
15
import { promisify } from 'util' ;
16
16
import { exec } from 'child_process' ;
17
17
import { getDotnetInfo } from '../shared/utils/getDotnetInfo' ;
18
- import { readFile , readlink } from 'fs/promises' ;
18
+ import { readFile , realpath } from 'fs/promises' ;
19
19
20
20
export const DotNetRuntimeVersion = '7.0' ;
21
21
@@ -183,13 +183,7 @@ export class DotnetRuntimeExtensionResolver implements IHostExecutableResolver {
183
183
184
184
// If dotnet is just a symlink, resolve it to the actual executable so
185
185
// callers will be able to get the actual directory containing the exe.
186
- try {
187
- const targetPath = await readlink ( path ) ;
188
- return targetPath ;
189
- } catch {
190
- // Not a symlink.
191
- return path ;
192
- }
186
+ return await realpath ( path ) ;
193
187
} catch ( e ) {
194
188
this . channel . appendLine (
195
189
'Failed to find dotnet info from path, falling back to acquire runtime via ms-dotnettools.vscode-dotnet-runtime'
You can’t perform that action at this time.
0 commit comments