• Post author:
  • Post category:后端
  • Post comments:0评论
  • Reading time:2 mins read

首先先下载ASP.NET Core 模块,这个东西是为了让IIS可以跑.NetCore项目用的,安装完成后重启IIS。

然后打开你的项目,双击项目的.csproj文件,于PropertyGroup节点添加HostingModel,值为OutOfProcess,这里是为了让项目发布时,自动生成的web.config文件里指定为无托管模式。

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
  </PropertyGroup>

之后将项目部署至IIS,步骤如下:

  • 发布你的.NetCore项目,发布配置选择Debug,不然无法命中断点,目标运行时为可移植。
  • 选择IIS的应用程序池,点击添加应用程序池,名称随意,.NetClr版本选择无托管代码,托管管道模式为集成。
  • 添加网站,应用程序池选择你刚才新建的那个无托管程序池。
  • 启动网站后访问一次网站,查看是否成功启动网站。

最后使用VS2019,调试-附加到进程,搜索dotnet.exe,点击附加就可以了。

详细说明在微软官方文档讲的很详细了,其实就是用.NetCore应用自带的Kestrel来跑你的服务,进程外托管是为了不让服务在IIS进程内托管,这样你的项目跑起来就会单独开一个dotnet.exe进程进行运行,vs2019调试的时候单独附加到这个进程就行了,调试起来和.NetFramework唯一的区别就是需要发布一次才行。

葫芦

葫芦,诞生于1992年8月11日,游戏宅,胶佬,爱好摸鱼,一个干过超市收银,工地里搬过砖,当过广告印刷狗,做过电焊铁艺的现役.Net程序员。

发表回复