.NET Core WebAPI IIS 部署问题
虽然建了 .NET Core 的项目,基本的一些功能也实现了,运行什么的也没有问题,但是一直没有直接发布。
今天就进行了发布测试,结果问题还是来了,只是你不去做自然就不会出现。
一、基本发布
1、先是发布 WebAPI ,发布的目标是文件(如图):
2、IIS 发布站点,这里就不介绍 IIS 安装等。这里要修改的是应用程序池,选择“无托管代码”:
这里已经就绪了,那就打开发布的站点,没有成功。
二、问题及解决
1、出现的问题是 500.19:
2、经过查找是由于 .NET Core 是自托管的,所以要再 IIS 上面托管 .NET Core 要安装一个.NET Core 托管捆绑包,这个包可以在官网下载:
直接下载(当前版本)
使用以下链接下载安装程序:
先前版本的安装程序
若要获取先前版本的安装程序:
- 导航到 .NET 下载存档。
- 在“.NET Core”下,选择 .NET Core 版本。
- 在“运行应用 - 运行时”列中,查找所需的 .NET Core 运行时版本的那一行。
- 使用“运行时和托管捆绑包”链接下载安装程序。
我本地是 2.1.4 的所以,具体下载是:
3、下载安装后在 IIS-模块 里面会有“AspNetCoreModule”模块,这时再打开发布的站点,已经成功!
后记:
之后测试了,用 Nginx 做代理,这时先运行应用。
由于 .NET Core 会有两个: http://localhost:5000、https://localhost:5001
在做代理时,我直接选用的是 https://localhost:5001,但是报错。
换成了 http://localhost:5000 ,测试成功。