Сборка VSTS: роли продолжают перерабатываться, потому что они не могут найти действительные библиотеки DLL - PullRequest
0 голосов
/ 26 апреля 2018

Мои разные роли отлично работают на моей локальной машине. Они работают достаточно хорошо, когда я развертываю свой проект в Azure вручную.

Однако при развертывании их с помощью инструментов VSTS CI / CD роли различных приложений отказываются начинаться с ошибок «Не удалось загрузить файл или сборку». Я использую Simple Injector .

В некоторых из моих проектов говорится, что они не могут найти DLL другого проекта в решении:

Необработанное исключение: не удалось загрузить файл или сборку 'DeviceCloud.Domain, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null' или одна из его зависимостей. Система не может найти указанный файл. в DeviceCloud.Application.CacheWorker.SimpleInjectionInitializer.RegisterPerWebRequestObjects () ...

Другие жалуются более косвенно. Я включаю еще один проект, MasterNLogger, который зависит от интерфейса ILogger, поэтому я думаю, что на самом деле происходит то, что он не может найти мою DLL-библиотеку MasterNLogger:

Необработанное исключение: конфигурация недействительна. Не удалось создать экземпляр для типа ILogger. Зарегистрированный делегат для типа ILogger выдал исключение. Зарегистрированный делегат для типа ILoggingAdministration вызвал исключение. Не удалось загрузить файл или сборку 'NLog, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = 5120e14c03d0593c' или одна из ее зависимостей. Система не может найти указанный файл. в SimpleInjector.InstanceProducer.VerifyExpressionBuilding () ...

Почему это работает при развертывании вручную, а не при развертывании с помощью инструментов VSTS и агента сборки?

1 Ответ

0 голосов
/ 30 апреля 2018

Вам нужно добавить задачу (и) перед сборкой задачи для восстановления пакетов:

  1. Добавление задачи NuGet Tool Installer для построения определения (Версия NuGet.exe для установки: 4.4.1)
  2. Добавить задачу восстановления NuGet (путь к решению, packages.config или project.json: **\*.sln)
...