【问题标题】:Roslyn: no documents in opened project on UbuntuRoslyn:在 Ubuntu 上打开的项目中没有文档
【发布时间】:2017-06-01 00:42:38
【问题描述】:

我正在尝试通过 Roslyn 处理 C# 项目。我是这样做的:

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-beta):Microsoft.CodeAnalysis.Analyzers、Microsoft.CodeAnalysis.CSharp、Microsoft.CodeAnalysis.CSharp.Workspaces、Microsoft.CodeAnalysis.Common、Microsoft.CodeAnalysis.Workspaces .普通

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

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

如果不解决问题,至少让罗斯林大声失败,有什么办法吗? 或者也许我想要的功能只是 Windows?

附:我看到了一个相关的问题 (Roslyn load project documents faililng),但那里的解决方案不起作用。

【问题讨论】:

    标签: c# ubuntu mono roslyn


    【解决方案1】:

    这通常发生在 MSBuild 无法执行“设计时构建”以找出项目内容时。这需要解决任务/目标/导入,这可能不适用于 Mono。

    尝试订阅WorkspaceFailed 事件,看看您是否从 MSBuild 获得指示问题的诊断。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-13
      • 2012-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多