我正在编写一个Asp.Net Core应用程序,该应用程序应该能够自行更新(在运行时替换自己的二进制文件)。
This MSDN article用经典的.Net框架描述了阴影复制,这正是我所需要的。但.Net Core中缺少整个AppDomain的东西。
所以我的问题是:
由于.NET Core中没有用于执行此操作的内置机制,因此我最终实现了自己的自定义解决方案。它的工作方式大致如下:
确保在主应用程序中尽可能多地执行(下载,解包,验证......)并使更新程序过程尽可能简单(最大限度地降低失败风险)。
事实证明这种方法非常稳定。
在.NET Core中没有构建影子复制工具
.Net API Browser表示在.Net Core中设置它所需的属性是,但AppDomainSetup不是。
需要说明的是,AppDomain已添加到.Net Standard 2.0中,但目前不支持创建域