GetPathsOfAllDirectoriesAbove () не может быть оценен после обновления версии .Net Framework (4.6.2 до 4.7.2)


12

Проект, над которым я работал, был обновлен с .NET Framework 4.6.2 до 4.7.2. При сборке в файле, который не является моим кодом, я получаю следующую ошибку:

введите описание изображения здесь

Я также вижу ту же ошибку на вкладке сборки в свойствах моего проекта.

[2]

Я в растерянности - я искал ошибку и выхожу пустым. Кто-нибудь сталкивался и / или решил эту проблему раньше?

Ответы:


22

Похоже, после обновления ваш инструмент сборки изменился с MSBUILD на Roslyn. Microsoft.Managed.Core.targets - целевой файл Roslyn.

если у вас установлены следующие пакеты Nuget:

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform

  • Microsoft.Net.Compilers

Тогда возможно это вызывает проблему. Обновите Microsoft.CodeDom.Providers.DotNetCompilerPlatformдо 2.x и удалите второй. Это должно решить проблему.


это было незаметно, но то, что вы сказали, помогло мне разобраться - так как обновление до 4.7.2 было сделано, пока я отсутствовал, у меня фактически была только 4.6.2 - и я позволил Visual Studio загрузить SDK, но в процесс, он должен был преобразовать конструктор проекта в Roslyn, пока мы используем MSBuild (как вы сказали). Возврат всего и загрузка его с уже установленным 4.7.2 SDK
Matt

Спасибо!! В моем случае у меня был Microsoft.Net.Compilers 2.0, кажется, что версия не имела конфликтов, но после обновления пакета Microsoft.Net.Compilers 3.4 был установлен этот кошмар. Я только что удалил Microsoft.Net.Compilers и теперь проект компилируется нормально :)
Jcis

я случайно опустил голос. нужно подождать час, чтобы исправить. эта проблема связана с VS 2017 v2019 тоже кстати.
smoore4

Удаление Microsoft.Net.Compilers исправили это! +1
Бендж Сандерс

0

Натолкнулся на ту же ошибку - проблема совместимости между Microsoft.Net.Compilers2.x (vs2017) и 3.x (vs2019) - понижение с v3 до v2 решило проблему специально для наших агентов сборки, которые имели только VS2017. v3 требует VS 2019 или более поздней версии для спецификации выпуска roslyn-анализаторов .

По соответствующей ошибке Method 'System.String.GetPathsOfAllDirectoriesAbove' not found- VS2017 даже не откроет CSPROJ, который был ключом к совместимости.

VS 2017 - опция CSPROJ для установки недостающих функций для Microsoft.Net.Compilersv3

введите описание изображения здесь

VS 2017 - Установка недостающих функций

введите описание изображения здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.