Microsoft. Net .Compilers поддерживается только в MSBuild v16.3 и выше - PullRequest
5 голосов
/ 05 февраля 2020

Я столкнулся с этой проблемой, когда впервые открыл один из своих проектов в Visual Studio 2019. Это был проект, который я создал около трех лет go и требует от меня всего несколько изменений в год ,

В первый раз, когда я пытался скомпилировать этот проект в Visual Studio 2019, я получил ошибку, связанную с файлом cs c .exe, и, поскольку у меня уже была эта ошибка, я восстановил ее Компиляторы Componentte в Nuget Package Manager, как я успешно делал в прошлые времена.

После этого я получил ошибку «Microsoft. Net .Compilers поддерживается только в MSBuild v16.3 и выше».

Я нашел некоторые решения в Сообществе разработчиков Microsoft , рекомендовавшем открыть и отредактировать файл: "packages \ Microsoft. Net .Compilers.3.4.0 \ build \ Microsoft. Net. Compilers.props ", но мне это кажется странным.

Ответы [ 3 ]

5 голосов
/ 06 февраля 2020

Обновите пакет nuget Microsoft.Net.Compilers до версии 3.5.0-beta2-final, и он должен работать.

5 голосов
/ 04 марта 2020

РЕДАКТИРОВАТЬ: Поскольку этот новый ответ на другой вопрос гласит маловероятно, что Microsoft.Net.Compilers необходимо иметь в вашем проекте. Прочтите этот ответ, чтобы убедиться, что он вам действительно нужен. Если вы этого не сделаете, удаление Microsoft.Net.Compilers должно решить вашу проблему. Если вам все еще нужна ограниченная функциональность или у вас возникли проблемы после удаления, прочитайте исходный ответ:


У меня возникла эта проблема после обновления до. NET framework 4.7.2, и не удалось обновить до рекомендованной бета-версии Microsoft.Net.Compilers, поскольку она, по-видимому, недоступна.

Следует отметить, что Microsoft.Net.Compilers устарела и мигрирует до Microsoft.Net.Compilers.Toolset Рекомендовано.

Для миграции вы можете просто использовать Nuget , чтобы удалить Microsoft.Net.Compilers и установить Microsoft.Net.Compilers.Toolset.

Номер версии для обоих был для меня одинаковым, но это исправило проблему для меня, и я смог собрать .

4 голосов
/ 05 февраля 2020

Через несколько часов, пытаясь это исправить, я просто удаляю переустановку двухкомпонентных последних стабильных версий в диспетчере пакетов Nuget:

  • Microsoft.CodeDom.Providers.DotNetCompilerPlataform v 2.0. 1;

  • Microsoft. Net .Compilers v 3.4.0

Теперь все работает нормально.

...