这两天用到ASP.NET Core API项目,虽然有点迟,但是只要肯学就不会晚。以下是我的ASP.NET Core API项目部署到IIS踩到的坑,因此记录一下。
本来我以为ASP.NET Core API的部署和ASP.NET MVC API的部署一样,发布后用iis指向即可,却发现事情没这么简答,因为依赖的框架不一样。
1.项目发布后,用iis指向发布后的地址,打开网址后出现500.19报错
原因:是我的本地没有安装ASP.NET Core的运行环境,因为ASP.NET Core不像ASP.NET 是依赖.NET的,而.NET环境是在安装iis的时候会勾选的。
解决办法如下:
第一步:查看项目的目标框架
第二步:下载和你的项目对应的Microsoft .NET Core Runtime版本。
地址:https://dotnet.microsoft.com/download/dotnet
我的环境是Microsoft .NET Core SDK3.1.301版本的,要下载比SDK版本低的,我这里选择的是3.1.13版本。
第三步:安装下载好的runtime-aspnetcore-3.1.13-windows-hosting-bundle-installer
安装成功后,在控制面板->程序中可以查看已安装好的。
第四步:打开iis->应用程序池->找到对应的应用程序后,右键基本信息。更改应用程序池上的.NET CLR版本为“无托管代码”。
最后一步:重启IIS
完成部署!希望能够帮助到大家。