Конвейер выпуска Devure Azure не может использовать последнюю версию C # - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть консольное приложение, в котором есть асинхронные вызовы, например, подпись метода main выглядит следующим образом

static async Task MainAsync(string[] args)
{

}

Я могу скомпилировать сборку на своем локальном компьютере.Но у меня есть конвейер CI / CD VSTS (DevOps Azure), где я использую настраиваемый агент, размещенный на этом компьютере, и после запуска CI он выдает ошибку:

## [ошибка] CSC (0,0): ошибка CS5001: программа не содержит статический метод 'Main', подходящий для точки входа

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Я заработал, заставив пользовательский агент использовать VS2017.Щелкните по фазе 1, а затем измените его на следующее: HostedVS2017

Это вынуждает пользовательский агент использовать 2017, который имеет самую последнюю версию C # вместо 2015 (к которой он применялся дляменя).

0 голосов
/ 18 сентября 2018

Можете ли вы попытаться создать свой локальный код в режиме выпуска и посмотреть, получаете ли вы ту же проблему.

Обязательно добавьте C # 7.1 в любой процессор и выпустите группы свойств.

  • Щелкните правой кнопкой мыши свой проект, выберите Свойства

  • Нажмите Построить, если он еще не выбран

  • Изменить конфигурацию на все конфигурации

  • Нажмите Дополнительно ...

  • Изменить языковую версию

См. Эту проблему в github дляподробнее.

https://github.com/dotnet/roslyn/issues/21783

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