使用PowerShell部署asp.net核心应用程序时出现问题

时间:2018-01-24 22:20:59

标签: powershell asp.net-core asp.net-core-mvc powershell-v3.0 coreclr

我有IIS中托管的ASP.NET Core Web应用程序。我们还有使用Jenkins进行持续集成的构建服务器。 Jenkins从GitHub获得最新版本并构建&在本地文件夹中发布项目,然后执行powershell脚本将已发布的文件夹复制到Web服务器。 (它只是使用Copy-Item将文件从本地文件夹复制到网络文件夹)

powershell脚本在复制文件之前首先停止remote IIS网站。 (我已确认远程网站在部署之前确实已停止)

然而,我们偶尔会在复制文件时遇到错误

  

Copy-Item:进程无法访问该文件   \\some_ip\_apps\myapp\UI\UI.dll因为它被另一个人使用   过程

所以我已经下载handle来检查谁在网络服务器上访问此文件,我发现了dotnet.exe

如何远程停止dotnet.exe或如何使用PowerShell远程释放句柄

enter image description here

1 个答案:

答案 0 :(得分:0)

我同意其他关于使用WebDeploy简化您的方法的评论。

就PowerShell而言,Get-ProcessStop-Process以及正常的远程处理内容会让你关闭dotnet.exe。