c# - MSBuildWorkspace.Create 似乎无法正常工作

标签 c# roslyn

我正在尝试打开解决方案并想引用该项目..但是 solution.Projects 总是空的。 下面是我的代码。 我错过了什么吗?

var workspace = MSBuildWorkspace.Create(ImmutableDictionary<string, string>.Empty);
var solution = workspace.OpenSolutionAsync(solutionPath).Result;
var project = solution.Projects.FirstOrDefault(p => p.Name == projectName); //Here solution.Projects comes empty(count 0)

最佳答案

如果我没看错您的评论,那么您的代码正在 Visual Studio 中运行,并且您正在尝试获取一个工作区以匹配当前打开的任何解决方案。在这种情况下,不要使用 MSBuildWorkspace。 MSBuildWorkspace 真的不应该在 devenv.exe 中使用。按照 this question 的答案进行操作这让您可以直接访问我们已经在解决方案模型之上构建的 Roslyn 模型。

关于c# - MSBuildWorkspace.Create 似乎无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23624019/

相关文章:

C# 7.3 枚举约束 : Why can't I use the nullable enum?

.net - 自编译 Roslyn 构建性能 : Not as fast as originally shipped Roslyn version

c# - 如何在 Visual Studio 2008 中创建用于 C# 应用程序的 .dll?

c# - 在 CSharpCompilation .net Core 中未获取命名空间/引用

c# - Windows Phone 8.1物理设备调用REST服务的方法

c# - 如何使用数据库列的值检查组合框的文本

clr - asp.net mvc 6如何知道 Controller 不继承自Controller类时要添加哪些资源?

visual-studio - 在 Visual Studio 2013 中使用 Roslyn 编译器

c# - 在 Visual Studio 2012 中更改 C# 项目中的文件完整路径

c# - 在时间段内激活