MSBuildWorkspace.Create似乎无法正常工作

时间:2014-05-13 06:18:34

标签: c# roslyn

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

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)

2 个答案:

答案 0 :(得分:1)

如果我正确地阅读您的评论,您的代码将在Visual Studio中运行,并且您正在尝试使用工作区来匹配当前打开的任何解决方案。在这种情况下,请使用MSBuildWorkspace。真的不应该在devenv.exe中使用MSBuildWorkspace。按照this question的答案,您可以直接访问我们已经在解决方案模型上构建的Roslyn模型。

答案 1 :(得分:0)

确保安装了 Microsoft.CodeAnalysis.CSharp.Workspaces 包。它帮助了我。