.NET5 ASP.NET CORE 发布到IIS 文件无法替换
由于默认是:进程内托管。要在IIS里停止网站,才能替换文件。
建议解决方案是:进程外(out-of-process)托管
记事本修改项目的 .csproj 文件(或在VS上,选中web项目,右键-编辑项目文件),检查 PropertyGroup 节点中,有没有AspNetCoreHostingModel 这一项。
没有则添加“
完整文件:
"Microsoft.NET.Sdk.Web"> net5.0 Linux a376cb3e-29fe-4544-98d7-7cc836a7f901 OutOfProcess "Microsoft.EntityFrameworkCore" Version="5.0.6" /> "Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.6" /> "Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.13" />
有的话,直接把值修改为“OutOfProcess”。
重新发布后web.config中hostingModel="OutOfProcess"。