解决ASP.NET Core部署到IIS,更新项目"另外一个程序正在使用此文件,进程没法访问"

若是应用正在运行,部署文件夹中的文件会被锁定。 在部署期间,没法覆盖已锁定的文件。 若要在部署中解除已锁定的文件,请使用如下方法之一 中止应用池:html

  • 使用 Web 部署并在项目文件中引用 Microsoft.NET.Sdk.Web。 系统会在 Web 应用目录的根目录中放置一个 app_offline.htm 文件 。 该文件存在时,ASP.NET Core 模块会在部署过程当中正常关闭该应用并提供 app_offline.htm 文件 。 有关详细信息,请参阅 ASP.NET Core 模块配置参考服务器

  • 在服务器上的 IIS 管理器中手动中止应用池。app

  • 使用 PowerShell 删除 app_offline.html (须要使用 PowerShell 5 或更高版本):ide

    PowerShell
    $pathToApp = 'PATH_TO_APP' # Stop the AppPool New-Item -Path $pathToApp app_offline.htm # Provide script commands here to deploy the app # Restart the AppPool Remove-Item -Path $pathToApp app_offline.htm 
  •  https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2spa

相关文章
相关标签/搜索