使用.netCore更新部署在IIS上的WEB应用时发现文件被锁定了不能像以前非core的那样直接覆盖了,以下就是解决这一问题我使用的方法。
也可以参考微软官方的文档
https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.0&tabs=aspnetcore2x
方法有几种:
最简单的就是把网站停止了再更新。
由于我懒得每次这样关感觉也不太方便写了个脚本(依据官方提供的第一种方式)
1.先建个空的目录分别创建以下文件
Release 目录用来放准备用来更新的文件的,通常VS发布的东西都复制进去
app_offline.htm 这个文件是用于更新中若有人访问站点里显示的内容,只面的内容自己随意编写就行了,怕麻烦直接写句“网站维护中……”也可以
update.bat 用于执行更新的脚本内容如下
@echo off set updatePackRootPath=E:\网站部署\MvcMovie_UpdatePack set updateWebPath=E:\网站部署\MvcMovie set offlineFilePath=%updatePackRootPath%\app_offline.htm set updateSourcePath=%updatePackRootPath%\Release echo ****************************************** echo *请确认以下更新信息 echo *更新包路径:%updatePackRootPath% echo *更新目标路径:%updateWebPath% echo *按任意键开始更新 echo ****************************************** pause echo 开始更新 call xcopy %offlineFilePath% %updateWebPath% /s /Q /Y /I call xcopy %updateSourcePath% %updateWebPath% /s /e /Q /Y /I del %updateWebPath%\app_offline.htm echo 更新完成 pause
把以上"updatePackRootPath"、“updateWebPath”两个变量的值改为你自己对应的以后执行这个bat就可以自动更新了。
懒得自己建的可以下载下来改一下BAT里面以上提到的两个变量值就可以了。
https://files.cnblogs.com/files/nekoyzx/UpdatePackTool.zip
原文地址:https://www.cnblogs.com/nekoyzx/p/9335772.html
时间: 2024-11-13 06:33:53