C# 在将项目加载到工作区时,Roslyn是否只加载项目的元数据引用?

C# 在将项目加载到工作区时,Roslyn是否只加载项目的元数据引用?,c#,.net-core,roslyn,roslyn-code-analysis,packagereference,C#,.net Core,Roslyn,Roslyn Code Analysis,Packagereference,我尝试了上面的代码来获取所有外部引用,但它不包括引用的包和程序集。它只显示项目引用。 例如,对于具有多个引用类型的项目: MSBuildLocator.RegisterDefaults(); var workspace = MSBuildWorkspace.Create(); workspace.LoadMetadataForReferencedProjects = true; var solution = workspace.OpenSolut

我尝试了上面的代码来获取所有外部引用,但它不包括引用的包和程序集。它只显示项目引用。 例如,对于具有多个引用类型的项目:

 MSBuildLocator.RegisterDefaults();
        var workspace = MSBuildWorkspace.Create();
        workspace.LoadMetadataForReferencedProjects = true;
        var solution = workspace.OpenSolutionAsync("C:\\Users\\Dell\\Desktop\\TestCompilation\\RoslynDetectingApproach\\RoslynDetectingApproach.sln").Result;
        foreach (var project in solution.Projects)
        {
            var compilation = await project.GetCompilationAsync();
            var metadata = compilation.ExternalReferences;
            foreach (var item in metadata)
            {
                System.Console.WriteLine(item.Display);
            }
        }


“我的代码”无法获取被引用的包。它只获取被引用的项目,在本例中,它将是项目测试。您能否给出获取被引用的包和程序集的建议。

nuget是否正确还原了您的项目
MSBuildWorkspace
今天无法处理自动恢复。我还将订阅工作区上的
workspacefiled
事件,以查看加载我的项目已恢复的解决方案时是否存在任何问题。我检查了project.assets.json文件,它是恢复的输出。项目负载没有失败nuget是否正确恢复了您的项目
MSBuildWorkspace
今天无法处理自动恢复。我还将订阅工作区上的
workspacefiled
事件,以查看加载我的项目已恢复的解决方案时是否存在任何问题。我检查了project.assets.json文件,它是恢复的输出。而且项目的加载没有失败
<ItemGroup>
  <PackageReference Include="Microsoft.Build.Locator" Version="1.2.6" />
  <PackageReference Include="Microsoft.CodeAnalysis" Version="3.6.0" />
</ItemGroup>
<ItemGroup>
  <ProjectReference Include="..\Test\Test.csproj" />
</ItemGroup>