【发布时间】: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东西。