Не удается заставить TeamCity использовать C# 7.1 - но работает вручную с помощью msbuild - PullRequest
0 голосов
/ 23 февраля 2020

У меня установлен TeamCity 2019.1.5 с последней установленной версией Visual Studio Tool 2017: enter image description here

У меня есть проект, который использует функции C# 7.1, и он компилируется локально только хорошо в VS 2017, и я убедился, что он имеет <LangVersion>latest</LangVersion> в файле CSPROJ. Но когда я запускаю его из TeamCity (агент находится на том же сервере) со следующим шагом сборки: enter image description here

, происходит сбой со следующей ошибкой в ​​журналах:

[Csc] Services\MappingService.cs(1942, 40): error CS8107: Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater.

Если я запускаю командную строку VS2017 на сервере и go в папку проекта и запускаю msbuild tt.csproj /target:Rebuild, она работает нормально: компилируется, и я не получаю никаких ошибок. Само собой разумеется, что если я удаляю код C# 7.1-специфицированный c, все работает в текущей конфигурации.

Я установил Visual Studio Tool 2019 и с MSBuild 16 он также работает без проблем. Но я предпочитаю использовать инструменты 2017 года, так что и серверная среда, и среда разработки одинаковы. Что может вызвать эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...