Roslyn:在Ubuntu上打开的项目中没有任何文档

问题描述:

我正在尝试通过Roslyn与C#项目一起工作。我不喜欢这样写道:Roslyn:在Ubuntu上打开的项目中没有任何文档

solution = workspace.OpenSolutionAsync(solutionPath).Result; 
foreach (var project in solution.Projects) { 
    foreach (var document in project.Documents) { 
     ... 

一切工作正常的Windows 10,但在Ubuntu 16.10每一个项目,我开不包含文档

project.HasDocuments == false 

我有最新版本(2.3.0-β)所有必需的依赖关系:Microsoft.CodeAnalysis.Analyzers,Microsoft.CodeAnalysis.CSharp,Microsoft.CodeAnalysis.CSharp.Workspaces,Microsoft.CodeAnalysis.Common,Microsoft.CodeAnalysis.Workspaces.Common

Project .NET版本是4.6,Mono版本是5.0.1.1

当使用.NET 4.5和更旧版本的依赖关系时,我遇到了空解决方案的问题(未检测到任何项目)。在更新到4.6和新的依赖关系的版本后,项目被找到,但没有文件。

有没有什么办法可以解决问题,至少让Roslyn失败呢? 或者,也许我想要的功能是以某种方式Windows?

P.S.我见过一个相关的问题(Roslyn load project documents faililng),但是解决方案不起作用。

通常情况下,当MSBuild无法执行“设计时间构建”来查找项目内容时会发生这种情况。这需要解决任务/目标/导入,这可能无法在Mono上运行。

尝试订阅WorkspaceFailed事件并查看是否从MSBuild获取了指示问题的诊断信息。