Пакет SDK для Azure недоступен в размещенном агенте сборки VS2017 VSTS?

В наших проектах .Net используется VS 2017, и для запуска модульных тестов требуется эмулятор хранилища Azure в пакете SDK Azure. Наш CI / CD работает в VSTS. Мы хотим использовать некоторый размещенный агент сборки в пулах агентов VSTS. Мы столкнулись с двумя проблемами. Во-первых, согласно официальному документу, Hosted VS2017 похоже, не установлен пакет Azure SDK. Во-вторых, при выполнении команды C: \ Program Files (x86) \ Microsoft SDKs \ Azure \ Storage Emulator \ AzureStorageEmulator.exe start возникла ошибка Ошибка: невозможно запустить эмулятор хранилища .


person Zhiliang    schedule 08.09.2017    source источник
comment
Пакет SDK для Azure доступен для агента Hosted VS 2017, вы можете добавить задачу командной строки, чтобы проверить его: Инструмент: C: \ Program Files (x86) \ Microsoft SDKs \ Azure \ Storage Emulator \ AzureStorageEmulator.exe; Аргументы: init / server (localdb) \ MSSQLLocalDb.   -  person starian chen-MSFT    schedule 11.09.2017
comment
Каков подробный сценарий вашей проблемы и в чем ошибка?   -  person starian chen-MSFT    schedule 11.09.2017
comment
Кажется, есть две проблемы. Во-первых, в отличие от размещенного агента в официальном документе не говорится, что пакет Azure SDK установлен на размещенном агенте VS2017. Во-вторых, команда C: \ Program Files (x86) \ Microsoft SDKs \ Azure \ Storage Emulator \ AzureStorageEmulator.exe start не работает, вероятно, из-за недостаточного разрешения.   -  person Zhiliang    schedule 24.09.2017


Ответы (2)


Размещенный агент VSTS работает как служба, которую нельзя запустить эмулятором хранилища (init в порядке).

Проверьте соответствующий поток: Не удалось запустить AzureStorageEmulator на VSTS-агенте VS2017.

person starian chen-MSFT    schedule 25.09.2017

Я уже давно использую эмулятор хранения Azure на агенте сборки VS2017.

Хитрость заключается в том, чтобы сначала инициализировать SQL LocalDB (эмулятор использует его), а затем запустить эмулятор. Вы можете сделать это с помощью задачи командной строки, которая запускается:

sqllocaldb create MSSQLLocalDB
sqllocaldb start MSSQLLocalDB
sqllocaldb info MSSQLLocalDB

"C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe" start
person Cocowalla    schedule 07.08.2018