即使使用 -enableRule:AppOffline,来自命令行的 Webdeploy 也不会使应用程序脱机

Webdeploy from commandline not taking app offline even with -enableRule:AppOffline

当我尝试从命令行运行此命令部署asp.net核心网站时:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -allowUntrusted -verb:sync -sourc
e:contentPath="%USERPROFILE%\ProjectFolder\bin\release\netcoreapp1.1\publish" -dest:contentPath="sitename",ComputerNa
me="https://siteurl.com:8172/msdeploy.axd?site=sitename",UserName='myusername',Password='mypassword',AuthType='Basic' -enableRule:AppOffline -retryAttempts:20

得到这个错误:

Error Code: ERROR_FILE_IN_USE

当我在 Web 服务器上停止网站时,部署成功:

我原以为 -enableRule:AppOffline 应该强制网站离线。但它仍然保持对网站dll的锁定。

我们如何强制 webdeploy 覆盖文件?

您能在网站上看到是否正在创建 App_Offline.htm 吗?如果是,请尝试重命名为 app_offline.htm(全部小写)。那会关闭网站吗? AspNetCoreModule 中存在 App_Offline.htm 文件区分大小写的错误,请参阅 here