码迷,mamicode.com
首页 > Web开发 > 详细

.netCore MVC 更新时文件被锁定的解决办法

时间:2018-07-19 16:15:12      阅读:1692      评论:0      收藏:0      [点我收藏+]

标签:sha   tabs   pat   lease   cal   ase   core   get   class   

使用.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

 

.netCore MVC 更新时文件被锁定的解决办法

标签:sha   tabs   pat   lease   cal   ase   core   get   class   

原文地址:https://www.cnblogs.com/nekoyzx/p/9335772.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!