У меня установлен TeamCity 2019.1.5 с последней установленной версией Visual Studio Tool 2017:
У меня есть проект, который использует функции C# 7.1, и он компилируется локально только хорошо в VS 2017, и я убедился, что он имеет <LangVersion>latest</LangVersion>
в файле CSPROJ. Но когда я запускаю его из TeamCity (агент находится на том же сервере) со следующим шагом сборки:
, происходит сбой со следующей ошибкой в журналах:
[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 года, так что и серверная среда, и среда разработки одинаковы. Что может вызвать эту проблему?