【问题标题】:'Expected Global Line.' exception while loading solution using Roslyn“预计全球线路。”使用 Roslyn 加载解决方案时出现异常
【发布时间】:2015-08-11 14:37:51
【问题描述】:

我正在学习 Roslyn 并第一次尝试它。我编写了一个小代码 sn-p 来加载解决方案并获取对工作区的引用。

IWorkspace workspace = Workspace.LoadSolution(solutionPath);

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

但我在第一行遇到了一个异常。异常详情如下。

消息:预计全球线路。

堆栈跟踪:
在 Roslyn.Services.Host.SolutionFile.ParseGlobal(TextReader reader)
在 Roslyn.Services.Host.SolutionFile.Parse(TextReader reader)
在 Roslyn.Services.Host.LoadedWorkspace.LoadSolution(SolutionId 解决方案Id,字符串文件路径)
在 Roslyn.Services.Host.LoadedWorkspace.OpenSolution(字符串文件名)
在 Roslyn.Services.Host.LoadedWorkspace.LoadSolution(字符串 解决方案文件名,字符串配置,字符串平台,布尔值 enableFileTracking)
在 Roslyn.Services.Workspace.LoadSolution(字符串解决方案文件名,字符串 配置,字符串平台,布尔型 enableFileTracking)
at Ros2.Program.GetWorkspace(String solutionPath) in c:\users\amnatu\documents\visual studio 2015\Projects\Ros2\Ros2\Program.cs:第 30 行

我referred to this link 显示了我遇到的相同问题。但是,删除EndProject 和Global 之间的空格的解决方案在我的情况下并不适用,因为我的解决方案文件在它们之间没有任何空格。

我在这里遗漏了什么吗?
关于如何解决此问题的任何建议?

【问题讨论】:

  • 您使用的是什么版本的 Roslyn?看起来它是过时的 2012 CTP。您可能应该使用新的Microsoft.CodeAnalysis 东西。

标签: c# roslyn


【解决方案1】:

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

我确实在使用过时的版本,并且必须使用最新的 Microsoft.CodeAnalysis 库。在我进行这些更改并相应地更新所有类之后,一切都运行良好。

谢谢乔什瓦蒂!

【讨论】:

  • 你是否使用了 smae 类和方法调用,只是将 roslyn 引用替换为 codeanalysis refs?
猜你喜欢
  • 2023-04-01
  • 2014-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-29
  • 1970-01-01
相关资源
最近更新 更多