由于名称空间的更改,服务结构升级失败

时间:2019-06-24 13:05:48

标签: namespaces upgrade azure-service-fabric

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

  

无法从程序集“ DB”中加载类型“ DB.IAddUser”   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 :(得分:0)

我可能会弄错,但是如果在其他升级域上成功升级,则与代码无关。

尝试回滚应用程序升级并再次升级: Start-ServiceFabricApplicationRollback -ApplicationName fabric:/MyApp

documentation

答案 1 :(得分:0)

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

  

Microsoft.VisualStudio.Azure.Fabric.MSBuild

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

恢复到1.6.7可以解决此问题(尽管只是一种解决方法)