You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Arch Linux下VS Code中C#扩展智能提示异常及MEF组合错误求助

Arch Linux下VS Code中C#扩展智能提示异常及MEF组合错误求助

最近在Arch Linux上用VS Code开发C#项目时碰到了棘手的问题:原本正常的行内智能提示功能突然失效——现在不再像之前那样给出实时的代码补全建议,只能看到基础的代码片段,严重影响开发效率。同时VS Code的输出窗口里还抛出了一堆C#扩展相关的MEF组合错误,我已经尝试了一些排查步骤,但问题依然存在,想请教大家有没有解决思路。

我已经做过的操作:

  • 安装了官方全套C#相关扩展:C#、C# Dev Kit、.NET Install Tool、IntelliSense for C#
  • 通过pacman成功安装了.NET 9.0.9.sdk110-1,且系统已更新至最新状态
  • 确认了dotnet路径指向正确:/usr/share/dotnet/dotnet

输出窗口中的错误日志:

2025-10-09 13:59:03.083 [info] Locating .NET runtime version 9.0.1
2025-10-09 13:59:03.262 [info] Dotnet path: /usr/share/dotnet/dotnet
2025-10-09 13:59:03.262 [info] Activating C# + C# Dev Kit + C# IntelliCode...
2025-10-09 13:59:03.404 [info] [stdout] info: Program[0]
Server started with process ID 27285
2025-10-09 13:59:04.073 [info] [stdout] fail: Microsoft.CodeAnalysis.Remote.ExportProviderBuilder[0]
Encountered errors in the MEF composition:
----- CompositionError level 1 ------
Microsoft.VisualStudio.Copilot.Roslyn.Completion.CSharpMethodCallerBlueprintProvider.ctor(joinableTaskContext): expected exactly 1 export matching constraints:
    Contract name: Microsoft.VisualStudio.Threading.JoinableTaskContext
    TypeIdentityName: Microsoft.VisualStudio.Threading.JoinableTaskContext
but found 0.
part definition Microsoft.VisualStudio.Copilot.Roslyn.Completion.CSharpMethodCallerBlueprintProvider

Microsoft.CodeAnalysis.ExternalAccess.Copilot.Internal.SemanticSearch.CopilotSemanticSearchQueryExecutor.ctor(workspaceProvider): expected exactly 1 export matching constraints:
    Contract name: Microsoft.CodeAnalysis.Host.IHostWorkspaceProvider
    TypeIdentityName: Microsoft.CodeAnalysis.Host.IHostWorkspaceProvider
but found 0.
part definition Microsoft.CodeAnalysis.ExternalAccess.Copilot.Internal.SemanticSearch.CopilotSemanticSearchQueryExecutor

Microsoft.VisualStudio.Copilot.Roslyn.Completion.CSharpReferencedSymbolDefinitionSnippetProvider.ctor(joinableTaskContext): expected exactly 1 export matching constraints:
    Contract name: Microsoft.VisualStudio.Threading.JoinableTaskContext
    TypeIdentityName: Microsoft.VisualStudio.Threading.JoinableTaskContext
but found 0.
part definition Microsoft.VisualStudio.Copilot.Roslyn.Completion.CSharpReferencedSymbolDefinitionSnippetProvider

Microsoft.VisualStudio.Copilot.Roslyn.Completion.CSharpMemberAccessSymbolBlueprintProvider.ctor(joinableTaskContext): expected exactly 1 export matching constraints:
    Contract name: Microsoft.VisualStudio.Threading.JoinableTaskContext
    TypeIdentityName: Microsoft.VisualStudio.Threading.JoinableTaskContext
but found 0.
part definition Microsoft.VisualStudio.Copilot.Roslyn.Completion.CSharpMemberAccessSymbolBlueprintProvider

Microsoft.CodeAnalysis.ExternalAccess.Pythia.PythiaSignatureHelpProvider.ctor(implementation): expected exactly 1 export matching constraints:
    Contract name: Microsoft.CodeAnalysis.ExternalAccess.Pythia.Api.IPythiaSignatureHelpProviderImplementation
    TypeIdentityName: Microsoft.CodeAnalysis.ExternalAccess.Pythia.Api.IPythiaSignatureHelpProviderImplementation
but found 0.
part definition Microsoft.CodeAnalysis.ExternalAccess.Pythia.PythiaSignatureHelpProvider

Microsoft.CodeAnalysis.ExternalAccess.Copilot.Internal.CodeMapper.CSharpMapCodeService.ctor(service): expected exactly 1 export matching constraints:
    Contract name: Microsoft.CodeAnalysis.ExternalAccess.Copilot.CodeMapper.ICSharpCopilotMapCodeService
    TypeIdentityName: Microsoft.CodeAnalysis.ExternalAccess.Copilot.CodeMapper.ICSharpCopilotMapCodeService
but found 0.
part definition Microsoft.CodeAnalysis.ExternalAccess.Copilot.Internal.CodeMapper.CSharpMapCodeService

Microsoft.VisualStudio.Composition.CompositionFailedException: Errors exist in the composition.
   at Microsoft.VisualStudio.Composition.CompositionConfiguration.ThrowOnErrors()
   at Microsoft.CodeAnalysis.Remote.ExportProviderBuilder.CheckForAndReportCompositionErrors(CompositionConfiguration configuration, ComposableCatalog catalog) in /_/src/Workspaces/Remote/Core/ExportProviderBuilder.cs:line 208
2025-10-09 13:59:04.346 [info] [stdout] {"pipeName":"/tmp/ce1f17e8.sock"}
2025-10-09 13:59:04.347 [info] received named pipe information from server
2025-10-09 13:59:04.347 [info] client has connected to server
2025-10-09 13:59:04.441 [info] [Program] Language server initialized
2025-10-09 13:59:05.575 [info] [textDocument/_vs_getProjectContexts] [Microsoft.CodeAnalysis.LanguageServer.DotnetCliHelper] Using dotnet executable configured on the PATH
2025-10-09 13:59:05.723 [info] [textDocument/_vs_getProjectContexts] [Microsoft.CodeAnalysis.LanguageServer.FileBasedPrograms.FileBasedProgramsProjectSystem] Failed to obtain virtual project for '/home/shinzo/Code/CS/GameStore/src/GameStore.API/Repositories/UnitOfWork.cs' using dotnet run-api. Falling back to directly creating the virtual project.
2025-10-09 13:59:06.049 [info] [textDocument/_vs_getProjectContexts] [Microsoft.CodeAnalysis.MSBuild.BuildHostProcessMan

想请教的问题:

从日志看核心是MEF组合时找不到一些必要的导出项,比如JoinableTaskContext这些,有没有朋友碰到过类似的问题?尤其是在Arch Linux环境下,有没有针对性的解决办法?比如是不是扩展版本和.NET版本不兼容?或者需要清理什么缓存?另外日志里提到的虚拟项目创建失败会不会和智能提示失效有关?

火山引擎 最新活动