GetPathsOfAllDirectoriesAbove () não pode ser avaliado após a atualização do .Net Framework versão (4.6.2 a 4.7.2)

12

Um projeto em que estou trabalhando foi atualizado do .NET Framework 4.6.2 para 4.7.2. Na compilação, em um arquivo que não é meu código, recebo o seguinte erro:

insira a descrição da imagem aqui

Também vejo o mesmo erro na guia compilar das propriedades do meu projeto.

[2]

Estou perplexo - procurei o erro e estou vazio. Alguém já encontrou e / ou resolveu isso antes?

Matt
fonte

Respostas:

22

Parece que após a atualização sua ferramenta de compilação foi alterada de MSBUILD para Roslyn. Microsoft.Managed.Core.targets é um arquivo de destino de Roslyn.

se você tiver os seguintes pacotes Nuget instalados:

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform

  • Microsoft.Net.Compilers

Então, possivelmente, está causando o problema. Atualize Microsoft.CodeDom.Providers.DotNetCompilerPlatformpara 2.xe remova o segundo. Isso deve resolver o problema.

vendettamit
fonte
era sutil, mas o que você disse me ajudou a descobrir - como a atualização para a 4.7.2 foi feita enquanto eu estava fora, na verdade só tinha a 4.6.2 - e deixei o Visual Studio fazer o download do SDK, mas no processo, ele deve ter transformado o criador do projeto para Roslyn enquanto usamos o MSBuild (como você disse). Revertendo tudo e carregá-lo com 4.7.2 SDK já instalado tornou a questão vá embora ...
Matt
Obrigado!! No meu caso, eu tinha o Microsoft.Net.Compilers 2.0, parece que a versão não apresentava conflitos, mas após a atualização do pacote Microsoft.Net.Compilers 3.4 foi instalado, esse pesadelo foi iniciado. Eu só desinstalado Microsoft.Net.Compilers e agora o projeto compila ok :)
Jcis
eu acidentalmente diminuído. precisa esperar uma hora para corrigir. esse problema está relacionado ao VS 2017 v2019 também btw.
smoore4 5/03
A remoção do Microsoft.Net.Compilers o corrigiu! +1
Benj Sanders 18/03
0

Ocorreu o mesmo erro - um problema de compatibilidade entre Microsoft.Net.Compilers2.x (vs2017) e 3.x (vs2019) - o downgrade da v3 para a v2 corrigiu o problema especificamente em nossos agentes de construção que tinham apenas o VS2017. A v3 requer o VS 2019 ou posterior, de acordo com as especificações da versão dos analisadores roslyn .

Pelo erro relacionado Method 'System.String.GetPathsOfAllDirectoriesAbove' not found- o VS2017 nem abriria o CSPROJ, que era uma pista sobre compatibilidade.

VS 2017 - Opção CSPROJ para instalar recursos ausentes na Microsoft.Net.Compilersv3

insira a descrição da imagem aqui

VS 2017 - Instalando recursos ausentes

insira a descrição da imagem aqui

SliverNinja - MSFT
fonte