namespaces - 由于命名空间更改,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 卡住?
此外,它只卡在最后一个升级域上,而没有卡在其他域上。
解决方案
事实证明,这与服务结构无关(正如预期的那样,正如@SteppingRazor 所说)。问题似乎与 MSBuild/Azure devops 构建任务有关,我已经升级了 nuget 包
Microsoft.VisualStudio.Azure.Fabric.MSBuild
从 1.6.7 到 1.6.8,似乎构建仍在使用旧代码(通过反编译器确认)。
恢复到 1.6.7 解决了这个问题(尽管它只是一种解决方法)
推荐阅读
- ruby-on-rails - Ruby 3.0.1,Rails 6 puma 服务器连接未建立
- python - 从python中的字符串集中删除不需要的字符
- html - 使用 Iron PDF 将 HTML 转换为 PDF 时没有出现边框
- c# - 自定义输出 JSON 中的 TypeNameHandling 值名称
- c# - EventstoreDb -- AppendToStreamAsync “挂起”。为什么?
- caching - 缓存,你如何处理陈旧的数据
- python - 根据分组数据框中组的前两个值获取数据框
- python - 一组条纹(带有扭曲)
- django - 如果在使用客户端凭据的 Oauth2 请求期间用户为无,则 Django Rest Framweork 中的节流
- xml - 如何在 GAS 中将 XML 路径拆分为数组