runliuv

runliuv@cnblogs

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

由于默认是:进程内托管。要在IIS里停止网站,才能替换文件。

建议解决方案是:进程外(out-of-process)托管

记事本修改项目的  .csproj 文件(或在VS上,选中web项目,右键-编辑项目文件),检查 PropertyGroup 节点中,有没有AspNetCoreHostingModel 这一项。

没有则添加“<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>”

完整文件:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
    <UserSecretsId>a376cb3e-29fe-4544-98d7-7cc836a7f901</UserSecretsId>
    <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.6" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.6" />
    <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.13" />
  </ItemGroup>

</Project>

有的话,直接把值修改为“OutOfProcess”。

 

重新发布后web.config中hostingModel="OutOfProcess"。

 

posted on 2021-05-18 17:14  runliuv  阅读(457)  评论(0编辑  收藏  举报