【发布时间】:2020-01-03 14:58:10
【问题描述】:
错误的文本是:
web deploy 无法修改目标上的文件,因为它被 iis 远程服务器中的外部进程锁定
我该如何调查?
【问题讨论】:
-
您的问题解决了吗?
标签: web iis deployment publish publishing
错误的文本是:
web deploy 无法修改目标上的文件,因为它被 iis 远程服务器中的外部进程锁定
我该如何调查?
【问题讨论】:
标签: web iis deployment publish publishing
如果您使用 VS 工具通过 msdeploy 配置文件进行发布,则此属性会自动添加到您的 pubxml。
是的
在您的输出窗口中,您应该会看到与此类似的 msdeploy 命令。
"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:manifest='C:\Users\vramak\AppData\Local\Temp\PublishTemp\obj\SourceManifest.xml ' -dest:manifest='C:\Users\vramak\AppData\Local\Temp\PublishTemp\obj\DestManifest.xml',ComputerName='https://netcoreappwithdb.scm.azurewebsites.net/msdeploy.axd',UserName='$netcoreappwithdb',Password='{PASSWORD- REMOVED-FROM-LOG}',IncludeAcls='False',AuthType='Basic' -verb:sync -enablerule:AppOffline -enableRule:DoNotDeleteRule -retryAttempts:20
-enablerule:命令中的AppOffline 应该注意在部署期间添加appOffline。
如果需要自定义appOffline内容,可以在pubxml中设置该属性。
离线应用路径
【讨论】:
问题背后的原因是您的发布目标中的某些文件正在使用中,因此它们无法被覆盖。
您可以按照以下方法解决您的问题:
尝试重新启动您的应用服务。如果您每次尝试将更改部署到服务器时仍然存在问题,尤其是在您的开发环境中,更重要的是,如果您的自动部署失败,则此解决方案不适合。
另一种方法是您也可以只修改应用程序设置以指示 MSDeploy 重命名它无法覆盖的文件——它通常可以解决这个问题!有两种方法可以做到这一点。
1)编辑发布目标的应用程序设置:
打开您的 Azure 函数/应用服务的应用程序设置,并添加以下键值对:
MSDEPLOY_RENAME_LOCKED_FILES = 1
2) 编辑 MSDeploy 的发布设置:
使用 Visual Studio 进行开发,您可以通过单击项目上的“发布”,然后在新窗口中单击“管理应用程序设置”来访问设置。
如果版本不同,那么您可以点击管理应用(服务)设置的链接,您将进入这样的窗口,您可以通过点击“添加”来添加设置:
并添加新设置,如下所示:
您也可以参考以下链接了解更多详情:
【讨论】: