.netcore部署到IIS后无法热发布--解决办法

以前.net程序发布可以直接复制文件到对应站点目录即可,但是.netcore发布更新直接复制的时候会提示文件被占用,这个时候必须停用站点才能发布。

 对于一般的小项目有不想搞tfs的持续集成或其他CI/CD操作,今天试了使用web deploy实现热发布: 

1.IIS安装管理服务;
2.服务里面启动Web Management Service服务;
3.IIS里面设置wep deploy发布的人员、权限、密码;
4.安装web Deploy,一定要选择安装全部功能,否则发布会报错(未能连接到远程计算机,请确保在远程计算机上安装了 Web Deploy 并启动了所需的进程("Web Management Service"));

https://www.iis.net/downloads/microsoft/web-deploy
5.启动Web 部署代理服务;
6.在vs里面发布:web部署=》服务器填IP=》IIS应用程序填写IIS上站点名称=》用户名、密码填写IIS设置的用户密码.

7.提示证书问题需要在IISProfile.pubxml里面添加: <AllowUntrustedCertificate>True</AllowUntrustedCertificate>

 

方法二:

安装ANCM模块,并修改web.config文件:

<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <handlers> <remove name="aspNetCore"/> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified"/> </handlers> <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".logsstdout"> <handlerSettings> <handlerSetting name="experimentalEnableShadowCopy" value="true" /> <handlerSetting name="shadowCopyDirectory" value="../ShadowCopyDirectory/" /> </handlerSettings> </aspNetCore> </system.webServer> </configuration>
 
 
可以搜索:卷影复制,这个可以解决。
 
 
posted @ 2022-08-29 16:55  LisonWu  阅读(281)  评论(0编辑  收藏  举报