MSBuildWorkspace:解决方案在Visual Studio 2019上不包含任何文档并且没有任何项目

哈姆扎

我想使用roslyn创建一个分析器,但是首先我需要从目标解决方案中获取所有文档(.cs文件)。

我使用了Josh Varty教程中的以下代码

        string solutionPath = @"C:\Users\hamza\Desktop\TestSolution\TestSolution.sln";
        var msWorkspace = MSBuildWorkspace.Create();

        var solution = msWorkspace.OpenSolutionAsync(solutionPath).Result;
        foreach (var project in solution.Projects)
        {
            Console.WriteLine(project);
            foreach (var document in project.Documents)
            {
                Console.WriteLine(project.Name + "\t\t\t" + document.Name);
            }
        }

但是结果是空的,我没有任何文档或项目。

MSBuildWorkspace版本是3.0.0,我也尝试过2.10.0,但结果是相同的。

有人对此有想法吗?或如何解决?

哈姆扎

经过更多研究后,我在Github上发现了此有用的问题文章:https : //github.com/dotnet/roslyn/issues/24767

此代码工作正常

 var projectPath = @"C:\Users\hamza\Desktop\TestSolution\TestSolution.sln";
        using (var workspace = MSBuildWorkspace.Create())
        {
            var solution = workspace.OpenSolutionAsync(projectPath).Result;

            foreach (var project in solution.Projects)
            {
                foreach (var document in project.Documents)
                {
                    Console.WriteLine(project.Name + "\t\t\t" + document.Name);
                }
            }
        }

最后,为了使一切正常,我添加了以下软件包:

安装包Buildalyzer.Workspaces-版本2.2.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Visual Studio中查看多个项目/解决方案

从Visual Studio解决方案中删除项目

Visual Studio 2015不显示任何解决方案的调试源文件

在CMake中包含Visual Studio解决方案

Unity解决方案与Visual Studio不兼容

Visual Studio解决方案(.sln)文件是否对创建它们的计算机有任何提示?

Visual Studio不显示解决方案中的所有项目

Visual Studio解决方案显示(0个项目)

使用cmake在Mac上生成Visual Studio解决方案

Visual Studio解决方案中的Markdown文档

Visual Studio for Mac无法在任何解决方案中打开任何文件

我可以列出Visual Studio解决方案中的所有*不可用*项目吗?

如何在Visual Studio 2019中从其他解决方案链接`.lib`库?

Visual Studio 2019开放解决方案文件不兼容

解决方案探索中的区域选项不会在Visual Studio 2019中显示

如何在Visual Studio 2019中更新.sln(解决方案)文件

在Visual Studio解决方案中仅构建特定项目

Visual Studio 2019在保存时禁用自动构建解决方案

在Visual Studio 2019中,是否可以在解决方案文件之外配置项目路径?

在Visual Studio Community 2019解决方案中成功初始化XAudio2

Visual Studio解决方案添加多个项目

如何构建和部署具有多个项目的Visual Studio解决方案

在Visual Studio解决方案中查找和运行任何可运行(exe)项目的简便方法

如何在Visual Studio的同一解决方案上运行多个项目

如何发布具有两个依赖项项目的Visual Studio解决方案?

带有Git版本控制的TFS Online项目如何包含多个Visual Studio解决方案?

在 Visual Studio 解决方案中设置所有项目的运行时库

Visual Studio 2019 拒绝构建解决方案 C++

解决方案文件 Visual Studio 2019 中的路径已更改,现在无法构建文件