Строка не была распознана как допустимая ошибка DateTime из DevOps Azure. - PullRequest
0 голосов
/ 19 июня 2019

Я получаю вышеуказанную ошибку, когда мы создаем наше приложение Xamarin из нашего Azure DevOps конвейера сборки.

Наше приложение Xamarin использует службу ASP.NET Web API , которая получает дату в качестве параметра. Дата передается в виде сериализованной строки. Служба использует функцию DateTime.Parse () для преобразования строки обратно в DateTime следующим образом.

CultureInfo cultureinfo = new CultureInfo("en-GB");
DateTime startdate = DateTime.Parse(strstartdate, cultureinfo);

Я хочу, чтобы все наши даты были в формате ГБ, так как они обрабатываются и хранятся.

Все тесты модуля проходят, когда они вызывают сервис локально с наших машин. Но затем они завершаются ошибкой при выполнении из Azure DevOps . Я подозреваю, что Azure DevOps отправляет даты в формате США, которые прерываются, когда функция DateTime.Parse () пытается их преобразовать.

Как мне обойти эту проблему? Я хочу, чтобы Azure DevOps отправлял даты в формате ГБ.

1 Ответ

1 голос
/ 19 июня 2019

Установите CultureInfo.CurrentCulture Property для проекта модульных тестов равным en-GB.

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB");
...