C# ';预计全球生产线';使用Roslyn加载解决方案时出现异常
我正在学习Roslyn并第一次尝试它。我编写了一个小代码段来加载解决方案并获取对工作区的引用C# ';预计全球生产线';使用Roslyn加载解决方案时出现异常,c#,roslyn,C#,Roslyn,我正在学习Roslyn并第一次尝试它。我编写了一个小代码段来加载解决方案并获取对工作区的引用 IWorkspace workspace = Workspace.LoadSolution(solutionPath); foreach (IProject project in workspace.CurrentSolution.Projects) { CommonCompilation objCompilation = project.GetCompilation(); } return
IWorkspace workspace = Workspace.LoadSolution(solutionPath);
foreach (IProject project in workspace.CurrentSolution.Projects)
{
CommonCompilation objCompilation = project.GetCompilation();
}
return workspace;
但我在第一行有个例外。例外情况详情如下所示
消息:预期的全局行。
堆栈跟踪:位于 Roslyn.Services.Host.SolutionFile.ParseGlobal(文本阅读器)
位于Roslyn.Services.Host.SolutionFile.Parse(文本阅读器)
Roslyn.Services.Host.LoadedWorkspace.LoadSolution(SolutionId solutionId,字符串文件路径)
位于 Roslyn.Services.Host.LoadedWorkspace.OpenSolution(字符串文件名)
位于Roslyn.Services.Host.LoadedWorkspace.LoadSolution(字符串 solutionFileName、字符串配置、字符串平台、布尔值 启用文件跟踪)
Roslyn.Services.Workspace.LoadSolution(字符串解决方案文件名,字符串 配置、字符串平台、布尔启用文件跟踪)
Ros2.Program.GetWorkspace(字符串解决方案路径)位于 c:\users\amnatu\documents\visual studio 2015\Projects\Ros2\Ros2\Program.cs:第30行
这表明了我面临的同样问题。但是,删除
EndProject
和Global
之间的空格的解决方案并不适用于我的情况,因为我的解决方案文件在它们之间没有任何空格
我遗漏了什么吗?
关于如何解决这个问题,有什么建议吗?对于延迟回复,我深表歉意。@JoshVarty的评论帮助我理解了这个问题 我确实使用了过时的版本,不得不使用最新的
Microsoft.codealysis
库。在我做了这些更改并相应地更新了所有类之后,一切都很顺利
谢谢乔什瓦蒂 对延迟响应表示歉意。@JoshVarty的评论帮助我理解了这个问题 我确实使用了过时的版本,不得不使用最新的
Microsoft.codealysis
库。在我做了这些更改并相应地更新了所有类之后,一切都很顺利
谢谢乔什瓦蒂 你用的是什么版本的Roslyn?看起来是过时的2012年CTP。您可能应该使用新的
Microsoft.CodeAnalysis
工具。您使用的是什么版本的Roslyn?看起来是过时的2012年CTP。您可能应该使用新的Microsoft.CodeAnalysis
功能。您是否使用了smae类和方法调用,并用CodeAnalysis引用替换了roslyn引用?是否使用了smae类和方法调用,并用CodeAnalysis引用替换了roslyn引用?