Я написал небольшое приложение на C # / WPF, которое создает список решений с помощью MSBuild.
Эти решения можно легко построить с помощью Visual Studio 2017. Однако, если я создаю те же решения с помощью MSBuild, я получаюследующая ошибка:
Не удалось загрузить задачу «Microsoft.CodeAnalysis.BuildTasks.Csc» из сборки C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \15,0 \ Bin \ Рослин \ Microsoft.Build.Tasks.CodeAnalysis.dll.Не удалось загрузить файл или сборку 'Microsoft.Build.Utilities.Core, версия = 14.0.0.0 , культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a' или одна из ее зависимостей.Система не может найти указанный файл.Убедитесь, что декларация правильная, что сборка и все ее зависимости доступны, и что задача содержит открытый класс, реализующий Microsoft.Build.Framework.ITask.
Что поразительно, так это то, чтоищется версия 14.0.0.0 , хотя используется Visual Studio 2017 и версия 15.0 .
Чтобы сузить проблему, я создаю простую консоль на C #приложение, которое выводит только строку Hello World.Но я получаю то же сообщение об ошибке.
У меня есть следующее созвездие: пакеты NuGet для Visual Studio 2017: Microsoft.Build, Microsoft.Build.Framework, Microsoft.Build.Tasks.Core и Microsoft.Build.Utilities.Базовая версия 15.9.20 и Microsoft.Net.Compiler версии 2.10.0.
Я читаю здесь , что
Переопределяет пакет Microsoft.Net.Compilers (путем установки свойств в файле проекта) версия Roslyn по умолчанию, включенная в MSBuild / Visual Studio.
Понижение версии Microsoft.Net.Compiler до версии 2.8.2, как предложено здесь не меняет ошибку.
Как я могу убедиться, что я собираюсь с правильной версией?