【发布时间】:2020-12-29 11:16:23
【问题描述】:
我正在尝试使用 Microsoft.VisualStuio.LanguageServices 枚举解决方案的所有项目。 这在 VisualStudio 2019 上运行良好,但在 VisualStudio 2017 上却失败了。 我的代码如下-
var workspace= ComponentModel.GetService<Microsoft.VisualStudio.LanguageServices.VisualStudioWorkspace>();
var projects = workspace.CurrentSolution.Projects;
我在第二行遇到异常 -
System.ArgumentNullException: '值不能为空。参数名称:source'
它显示了调试中的项目列表。 我正在使用 2.10.0.0 版本的 Microsoft.VisualStudio.LanguageServices.dll,它与 VS 模块中加载的 dll 相同。 是组装问题吗?我该如何解决这个问题?
【问题讨论】:
-
根据我的测试,我发现我不能使用你提供的代码。你能告诉我你添加了什么引用或你添加了 nuget-package 吗?
-
我刚刚发现了这个问题。 Microsoft.VisualStudio.LanguageService.dll 2.10.0 版与我所指的 Microsoft.CodeAnalysis.dll 3.7.0.0 版不兼容。 Visual Studio 2017 使用 Microsoft.CodeAnalysis.dll 版本 2.10.0.0,但它不会在 Module 中加载。
标签: c# visual-studio-2017 roslyn vsix roslyn-code-analysis