I have been getting the following exception every time I start VSCode with the new DevKit extension. I’ve done a little searching but haven’t found anything related to this combination of tools.
LimitedFunctionality
System.AggregateException: Project system data flow 'Workspace update handler ActionBlockSlimAsync`1' closed because of an exception: Invalid URI: The format of the URI could not be determined.. (Invalid URI: The format of the URI could not be determined.)
---> (Inner Exception #0) StreamJsonRpc.RemoteInvocationException: Invalid URI: The format of the URI could not be determined.
at StreamJsonRpc.JsonRpc.InvokeCoreAsync[TResult](RequestId id, String targetName, IReadOnlyList`1 arguments, IReadOnlyList`1 positionalArgumentDeclaredTypes, IReadOnlyDictionary`2 namedArgumentDeclaredTypes, CancellationToken cancellationToken, Boolean isParameterObject)
at Microsoft.VisualStudio.ProjectSystem.VSCode.LanguageServices.Workspace.<>c__DisplayClass45_1`1.<<OnProjectChangedAsync>g__ApplyInBatchAsync|1>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<>c__DisplayClass3_0.<<ExecuteAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.ExecuteAsync(Func`1 operation, CancellationToken cancellationToken)
at Microsoft.VisualStudio.ProjectSystem.OnceInitializedOnceDisposedUnderLockAsync.ExecuteUnderLockCoreAsync(Func`2 action, CancellationToken cancellationToken)
at Microsoft.VisualStudio.ProjectSystem.VSCode.LanguageServices.Workspace.OnBuildUpdateAsync(IProjectVersionedValue`1 update)
at Microsoft.VisualStudio.ProjectSystem.VSCode.LanguageServices.Workspace.<>c__DisplayClass41_0.<<OnWorkspaceUpdateAsync>g__ApplyUpdateWithinLockAsync|1>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.VisualStudio.ProjectSystem.VSCode.LanguageServices.Workspace.<>c__DisplayClass41_0.<<OnWorkspaceUpdateAsync>g__ApplyUpdateWithinLockAsync|1>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.VisualStudio.ProjectSystem.VSCode.LanguageServices.Workspace.<>c__DisplayClass41_0.<<OnWorkspaceUpdateAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.<>c__DisplayClass3_0.<<ExecuteAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.VisualStudio.Threading.ReentrantSemaphore.StackSemaphore.ExecuteAsync(Func`1 operation, CancellationToken cancellationToken)
at Microsoft.VisualStudio.ProjectSystem.OnceInitializedOnceDisposedUnderLockAsync.ExecuteUnderLockCoreAsync(Func`2 action, CancellationToken cancellationToken)
at Microsoft.VisualStudio.ProjectSystem.DataReceivingBlockSlim`1.ProcessInputQueueAsync(InputDataBuffer inputQueue)
<--- (Inner Exception #0)
It’s logged 3, sometimes 4 times. The message states it is coming from DevKit.
Any thouhgts?
2
Answers
https://github.com/dotnet/vscode-csharp/issues/6186
Seems to be introduced with the C# extension (ms-dotnettools.csharp) v2.0.413 (not dev kit ms-dotnettools.csdevkit per-se).
Works:
ms-dotnettools.csdevkit v0.3.21
ms-dotnettools.csharp v2.0.376
Broken:
ms-dotnettools.csdevkit v0.3.21
ms-dotnettools.csharp v2.0.413
Install older version C# plugin.
According to the maintainers, this is a known issue with v2.0.413 of the C# extension for VS Code: LanguageServerProjectSystem throws System.URIFormatException #6218 (https://github.com/microsoft/vscode-dotnettools/issues/361 was raised by the asker of this question, which was closed as a duplicate of https://github.com/dotnet/vscode-csharp/issues/6186, which was closed as a duplicate of #6218).
As for workarounds,
The maintainers of the extension are aware of the issue, are able to reproduce it, and are working on a fix. At the time of this writing, the fix is scheduled for the August milestone.