';应为全局行';使用Roslyn加载解决方案时发生异常

本文关键字:解决方案 异常 加载 使用 全局 Roslyn | 更新日期: 2023-09-27 18:06:14

我正在学习罗斯林,并第一次尝试它。我写了一个小代码片段来加载解决方案并获得对工作区的引用。

IWorkspace workspace = Workspace.LoadSolution(solutionPath);
foreach (IProject project in workspace.CurrentSolution.Projects)
{
    CommonCompilation objCompilation = project.GetCompilation();
}
return workspace;

但我在第一行遇到了一个例外。异常详细信息如下。

消息:需要全局行

堆栈跟踪:
位于Roslyn.Services.Host.SolutionFile.ParseGlobal(TextReader阅读器(
位于Roslyn.Services.Host.SolutionFile.Parse(TextReader阅读器(
Roslyn.Services.Host.LoadedWorkspace.LoadSolution(SolutionIdsolutionId,字符串文件路径(
Roslyn.Services.Host.LoadedWorkspace.Osclolution(字符串文件名(
位于Roslyn.Services.Host.LoadedWorkspace.LoadSolution(字符串solutionFileName,字符串配置,字符串平台,布尔enableFileTracking(
Roslyn.Services.Workspace.LoadSolution(字符串解决方案FileName,字符串配置,字符串平台,布尔启用FileTracking(
Ros2.Program.GetWorkspace(字符串解决方案路径(c: ''users''amnatu''documents''visualstudio2015''Projects''Ros2''Ros2''Program.cs:line 30

我提到了这个链接,它显示了我所面临的相同问题。但是,删除EndProjectGlobal之间的空间的解决方案在我的情况下并不适用,因为我的解决方案文件在它们之间没有任何空间。

我是不是遗漏了什么
关于如何解决此问题,有什么建议吗?

';应为全局行';使用Roslyn加载解决方案时发生异常

对延迟的响应表示歉意。@JoshVarty的评论帮助我理解了这个问题。

我确实使用了过时的版本,不得不使用最新的Microsoft.CodeAnalysis库。在我做了这些更改并相应地更新了所有类之后,一切都很完美。

谢谢JoshVarty。!