Azure误删Deployments目录后恢复部署历史及.NET Core迁移部署咨询
嘿,先别着急,咱们逐个解决你的问题:
关于Azure中误删Deployments目录的恢复可能性
首先得给你说实话:如果你的预发布服务器已经同步到最新版本,没有额外备份的话,原生Azure App Service里的Deployments目录内容(也就是部署历史快照)确实很难直接恢复。这个目录是App Service用来存储每次部署的临时快照的,默认情况下没有自动恢复机制,除非你提前做了备份。
不过你可以试试这几个补救方向:
- 检查Azure门户的站点备份:如果你之前给这个App Service开了定期站点备份(包含文件系统的那种),可以去App Service的「备份」面板里看看有没有包含Deployments目录的历史备份,有的话可以恢复到对应时间点的快照。
- 查外部部署工具的历史:如果你们是用Azure DevOps、GitHub Actions或者本地的
az webapp deployment source这类工具部署的,这些工具一般会保留自己的部署历史记录。你可以从这些工具里找到旧版本的部署记录,重新触发部署,相当于间接找回过往版本。 - 联系Azure支持:如果这个预发布环境的历史版本确实有留存必要,你可以提交Azure支持工单,说明误删情况,他们可能能帮你排查底层有没有临时快照(不过这个概率不算高,尤其是非生产环境)。
如果上面的方法都不行,那确实很难挽回过往的部署历史了,但好在你已经同步了最新版本,后续记得给预发布环境也开启App Service的备份功能,避免再踩同样的坑。
.NET Core 1.1迁移至.NET Core 2.x的应用部署步骤
我给你整理了一套实操性强的步骤,你可以跟着来:
先在本地完成项目升级
- 打开项目的
.csproj文件,把<TargetFramework>netcoreapp1.1</TargetFramework>改成<TargetFramework>netcoreapp2.0</TargetFramework>(推荐选2.1或者2.2这类LTS版本,支持周期更长)。 - 更新所有NuGet包:把Microsoft.AspNetCore相关的包版本升级到对应2.x的版本(比如把Microsoft.AspNetCore.Mvc从1.1.2更到2.0.3),其他第三方依赖也尽量升级到兼容2.x的版本。
- 修复编译报错:.NET Core 2.x有一些API变更,比如
IHostingEnvironment的命名空间调整、Startup类的配置逻辑变化,你可以根据编译提示逐一修复。 - 本地跑一遍测试:确保项目能正常编译、启动,核心功能没问题。
- 打开项目的
配置Azure App Service的运行环境
- 登录Azure门户,找到你的目标App Service,进入「配置」->「常规设置」,把「.NET版本」改成你项目对应的
.NET Core 2.x版本。 - 如果用了部署槽,记得把预发布槽的.NET版本也同步改成2.x,避免部署时环境不兼容。
- 登录Azure门户,找到你的目标App Service,进入「配置」->「常规设置」,把「.NET版本」改成你项目对应的
部署前的验证环节
- 用
dotnet publish -c Release命令本地发布项目,检查发布后的输出目录,确认依赖文件都齐全,没有缺失。 - 优先部署到预发布槽(如果有的话),做一轮冒烟测试,确认应用启动正常,功能没有异常。
- 用
正式部署并收尾
- 用你平时的部署方式(Azure DevOps流水线、GitHub Actions、FTP或者
az webapp deployment source sync命令)部署升级后的项目。 - 部署完成后,重启一下App Service,确保应用加载新的运行时环境。
- 检查日志:如果启动失败,去App Service的「日志流」或者「诊断日志」里找报错信息,排查是否有依赖缺失或者配置问题。
- 用你平时的部署方式(Azure DevOps流水线、GitHub Actions、FTP或者
内容的提问来源于stack exchange,提问作者user6728767
相关产品推荐
相关产品推荐

