Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Roslyn错误仅适用于.NET Core:“;ResolvePackageFileConflicts“;任务意外失败_C#_Abstract Syntax Tree_Roslyn_Code Analysis_Roslyn Code Analysis - Fatal编程技术网

C# Roslyn错误仅适用于.NET Core:“;ResolvePackageFileConflicts“;任务意外失败

C# Roslyn错误仅适用于.NET Core:“;ResolvePackageFileConflicts“;任务意外失败,c#,abstract-syntax-tree,roslyn,code-analysis,roslyn-code-analysis,C#,Abstract Syntax Tree,Roslyn,Code Analysis,Roslyn Code Analysis,我的代码负责根据解决方案文件路径使用Roslyn API获取类型名称空间;在查找名称空间之前,我使用以下内容获取文档: using (var ws = MSBuildWorkspace.Create()) { var solution = await ws.OpenSolutionAsync(solutionPath); //[...] some code var diagnostics = ws.Diagnostics; //[...] some

我的代码负责根据解决方案文件路径使用Roslyn API获取类型名称空间;在查找名称空间之前,我使用以下内容获取文档:

using (var ws = MSBuildWorkspace.Create())
{
    var solution = await ws.OpenSolutionAsync(solutionPath);
    
    //[...] some code

    var diagnostics = ws.Diagnostics;

    //[...] some code

    return solution.Projects.SelectMany(p => p.Documents);
}
当我将.NET Framework解决方案中的某个解决方案文件路径作为参数传递时,代码运行良好。但是,当我将.NET核心解决方案中的某个解决方案文件路径作为参数传递时,变量
diagnostics
会得到一些错误(解决方案中的每个项目都有一个错误):

Msbuild在处理文件“
[项目的.csproj文件]
”时失败 留言: C:\Program\Files\dotnet\sdk\3.1.301\sdk\Microsoft.NET.sdk\targets\Microsoft.NET.ConflictResolution.targets: (39,5):“ResolvePackageFileConflicts”任务意外失败。 System.IO.FileNotFoundException:无法加载文件或程序集 'NuGet.Versioning,版本=5.6.0.5,区域性=neutral, PublicKeyToken=31bf3856ad364e35'。系统找不到指定的文件


两种解决方案(.NET Core和.NET Framework)都能正确编译。当我使用Roslyn分析.NET Core项目时,是否必须设置一些特定的配置?

我在加载.NET Core 3.1项目时,成功地复制了这些配置。为了解决此问题,您可以将以下
NuGet
包引用添加到您的解决方案中:

  • 框架
  • NuGet.包装
  • NuGet.ProjectModel
  • 版本控制

现在它工作正常,谢谢!你是怎么发现的?我试着加载Nodatime,看看是否收到了类似的消息,我确实收到了。接下来,我只是在跟踪错误消息。它抱怨所提到的包裹(一个接一个)丢失了。现在困扰我的是,我不知道为什么需要它们,我计划在有时间的时候看看。