备注:本人使用开发工具:VS2017,.NET Core 2.2,其中VS2017原本自带2.1,我单独从官网下载了2.2的程序集安装包,但是没有下配套的运行环境,运行项目时出了一个问题。
以下是我在发布Core项目后部署到IIS后运行时遇到的一个异常:处理程序“aspNetCore”在其模块列表中有一个错误模块“AspNetCoreModuleV2"
这里备注一下,如果仅仅是在IIS上运行发布好的项目,只需要安装AspNetCoreModuleV2模块就够了。不需要管模块:AspNetCoreModule 。
如果项目还运行不了,报HTTP Error 500.30 - ANCM In-Process Start Failure ,只需要检查应用程序池的配置是否是无托管代码版本。
先摆出微软Core的官方文档对IIS支持的描述吧:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.0
下载中心:https://dotnet.microsoft.com/download/dotnet-core/3.1 选择IIS支持中的IIS runtime support,里面的Hosting Bundle(托管捆绑包)链接下载
1-发布设置:
在发布过程中,项目一直还原nuget包没有结果?后来我转移了项目的位置,从C盘桌面挪到F盘,重新编译发布项目,居然可以了! 可能是在C盘还原的时候遇到了只读或权限不足的问题吧,贴图如下
发布成功后,在IIS配置网站到push发布目录中,应用程序池:.net framework版本设置成无托管代码(其实设置了v4.0貌似也没有毛病),
在运行项目时报错如下:处理程序“aspNetCore”在其模块列表中有一个错误模块“AspNetCoreModuleV2"
只需要在运行的服务器上下载一个捆绑运行程序包,就OK了:
下载地址:
https://dotnet.microsoft.com/download/dotnet-core/3.1
选择好版本后,点击去,找到Core运行时的支持:IIS runtime support,里面的Hosting Bundle(托管捆绑包)链接下载。