Сбой обновления сервисной фабрики из-за изменения пространства имен - PullRequest
0 голосов
/ 24 июня 2019

У меня приложение сервисной фабрики, застрявшее в режиме «Обновление».Исключение составляет:

Не удалось загрузить тип 'DB.IAddUser' из сборки 'DB' в WebApi.Startup.ConfigureServices (службы IServiceCollection)

Мое изменение заключалось в том, чтопереименования пространства имен из «DB» в «DB.Interfaces».

Этот класс используется только в качестве зависимости конструктора и регистрируется как

Startup.cs

services.AddSingleton<IAddUser, AddUser>();

UserController.cs

private IAddUser addUser;
public UserController(IAddUser addUser){
   this.addUser = addUser;
}

Почему это приводит к зависанию SF?

Кроме того, он зависает только в последнем домене обновления, а не в других.

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Оказывается, это не имеет ничего общего с сервисной фабрикой (как и ожидалось, как сказал @SteppingRazor). Похоже, что проблема связана с задачей сборки MSBuild / Azure devops. Я обновил пакет nuget

Microsoft.VisualStudio.Azure.Fabric.MSBuild

с 1.6.7 до 1.6.8, и похоже, что при сборке все еще использовался старый код (подтверждено декомпилятором).

Возвращение к 1.6.7 решило проблему (хотя это просто обходной путь)

0 голосов
/ 24 июня 2019

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

Попробуйте откатить обновление приложения и снова выполнить обновление: Start-ServiceFabricApplicationRollback -ApplicationName fabric:/MyApp

документация

...