首页 > 解决方案 > 由于命名空间更改,Service Fabric 升级失败

问题描述

我有一个服务结构应用程序卡在“升级”模式。例外是:

无法从 WebApi.Startup.ConfigureServices(IServiceCollection 服务)的程序集“DB”加载类型“DB.IAddUser”

我的改变是将命名空间从“DB”重命名为“DB.Interfaces”。

此类仅用作构造函数依赖项,并按此方式注册

启动.cs

services.AddSingleton<IAddUser, AddUser>();

用户控制器.cs

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

为什么这会导致 SF 卡住?

此外,它只卡在最后一个升级域上,而没有卡在其他域上。

标签: namespacesupgradeazure-service-fabric

解决方案


事实证明,这与服务结构无关(正如预期的那样,正如@SteppingRazor 所说)。问题似乎与 MSBuild/Azure devops 构建任务有关,我已经升级了 nuget 包

Microsoft.VisualStudio.Azure.Fabric.MSBuild

从 1.6.7 到 1.6.8,似乎构建仍在使用旧代码(通过反编译器确认)。

恢复到 1.6.7 解决了这个问题(尽管它只是一种解决方法)


推荐阅读