Могу ли я использовать размещенный агент сборки для создания проекта VS 2019, ориентированного на netcore 2.1 и 3.1?

У меня был проект VS 2017, ориентированный на netcore 2.1. Это было построено и развернуто с использованием конвейера сборки YAML на размещенном агенте vs 2017.

Нам нужно было поддерживать netcore 3.1, а также 2.1, поэтому я обновил проект до VS 2019 и изменил его на многоцелевой как netcore 2.1, так и 3.1. Это отлично работает на моей машине разработчика, но (очевидно) не работает на существующем конвейере сборки, который использует образ vs 2017.

На основе документация Я обновил конвейер сборки, чтобы использовать образ виртуальной машины windows-2019.

Однако это дает мне следующее сообщение об ошибке:

The framework 'Microsoft.NETCore.App', version '2.1.0' was not found.

Я бы предпочел не создавать и поддерживать внутренний сервер сборки для этого, возможно ли это на размещенном агенте?


person Steve    schedule 14.02.2020    source источник
comment
Мне не удалось воспроизвести эту проблему с <TargetFrameworks>netcoreapp3.1; netcoreapp2.1</TargetFrameworks> в размещенном агенте windows-2019, но он работает нормально. Не могли бы вы поделиться с нами файлом вашего проекта и yaml, чтобы мы могли воспроизвести эту проблему?   -  person Leo Liu-MSFT    schedule 17.02.2020
comment
Я обнаружил, что проблема не так проста, как казалось на первый взгляд. Проблема заключалась в том, что тестовые проекты были нацелены на netcore 2.1, и мы используем задачу vstest, а не тест netcore (нам нужно использовать это по другим причинам). Тесты выполняются для x64 и x86 как в отладочной, так и в выпускной конфигурациях. Проблема возникает только тогда, когда он выполняет тест x86. Я решил эту проблему, обновив тестовые проекты для целевой netcore 3.1.   -  person Steve    schedule 17.02.2020


Ответы (1)


Оказывается, это было вызвано тестовыми проектами, которые все еще ориентированы на netcore 2.1.

Наш конвейер сборки запускает тесты (с использованием задачи vstest) как на x86, так и на x64, и только тесты x86 терпели неудачу.

После того, как мы обновили тестовые проекты до netcore 3.1, все заработало, как и ожидалось, и тесты прошли.

person Steve    schedule 17.02.2020