GetPathsOfAllDirectoriesAbove() cannot be evaluated after updating .Net Framework version (4.6.2 to 4.7.2)

后端 未结 3 1455
梦如初夏
梦如初夏 2020-12-30 21:35

A project I have been working on was upgraded from .NET Framework 4.6.2 to 4.7.2. On build, in a file that is not my code, I get the following error:

I also

相关标签:
3条回答
  • 2020-12-30 22:29

    Ran into the same error - a compatibility issue between Microsoft.Net.Compilers 2.x (vs2017) and 3.x (vs2019) - downgrading from v3 to v2 fixed the issue specifically on our build agents which only had VS2017. v3 requires VS 2019 or later per roslyn-analyzers release spec.

    Per the related error Method 'System.String.GetPathsOfAllDirectoriesAbove' not found - VS2017 would not even open the CSPROJ which was a clue about compatibility.

    VS 2017 - CSPROJ Option to Install Missing Features for Microsoft.Net.Compilers v3

    VS 2017 - Installing Missing Features

    0 讨论(0)
  • 2020-12-30 22:38

    This happned to me when I updated Microsoft.Net.Compilers in an old project. Removing Microsoft.Net.Compilers completely, and then updating Microsoft.CodeDom.Providers.DotNetCompilerPlatform resolved my problem.

    0 讨论(0)
  • 2020-12-30 22:39

    Looks like after upgrading your build tool is changed from MSBUILD to Roslyn. Microsoft.Managed.Core.targets is Roslyn target file.

    if you have following Nuget packages installed:

    • Microsoft.CodeDom.Providers.DotNetCompilerPlatform

    • Microsoft.Net.Compilers

    Then possibly it's causing the issue. Upgrade the Microsoft.CodeDom.Providers.DotNetCompilerPlatform to 2.x and remove the second one. That should fix the issue.

    0 讨论(0)
提交回复
热议问题