更新 .Net Framework 版本(4.6.2 到 4.7.2)后无法评估 GetPathsOfAllDirectoriesAbove()

Mat*_*att 40 .net c# msbuild visual-studio

我一直在做的一个项目从 .NET Framework 4.6.2 升级到 4.7.2。在构建时,在不是我的代码的文件中,我收到以下错误:

在此处输入图片说明

我还在项目属性的构建选项卡中看到了相同的错误。

[2]

我不知所措 - 我已经搜索了错误并且结果是空的。有没有人遇到过和/或解决过这个问题?

ven*_*mit 73

看起来升级您的构建工具后从 MSBUILD 更改为 Roslyn。Microsoft.Managed.Core.targets是 Roslyn 目标文件。

如果您安装了以下 Nuget 软件包:

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform

  • Microsoft.Net.编译器

那么可能是它导致了这个问题。升级Microsoft.CodeDom.Providers.DotNetCompilerPlatform到 2.x 并删除第二个。那应该可以解决问题。

  • 删除 Microsoft.Net.Compilers 修复了它!+1 (2认同)

小智 10

当我在旧项目中更新 Microsoft.Net.Compilers 时,这发生在我身上。完全删除 Microsoft.Net.Compilers,然后更新 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 解决了我的问题。


Sli*_*SFT 9

遇到了同样的错误 - Microsoft.Net.Compilers2.x (vs2017) 和 3.x (vs2019)之间的兼容性问题- 从 v3 降级到 v2 解决了专门在我们只有 VS2017 的构建代理上的问题。v3 需要 VS 2019 或更高版本,每个 roslyn-analyzers 发布规范

根据相关错误Method 'System.String.GetPathsOfAllDirectoriesAbove' not found- VS2017 甚至不会打开 CSPROJ,这是有关兼容性的线索。

VS 2017 - 用于安装Microsoft.Net.Compilersv3缺失功能的 CSPROJ 选项

在此处输入图片说明

VS 2017 - 安装缺少的功能

在此处输入图片说明