.NET Core WebAPI IIS 部署问题

虽然建了 .NET Core 的项目,基本的一些功能也实现了,运行什么的也没有问题,但是一直没有直接发布。

今天就进行了发布测试,结果问题还是来了,只是你不去做自然就不会出现。

一、基本发布


1、先是发布 WebAPI ,发布的目标是文件(如图):

2、IIS 发布站点,这里就不介绍 IIS 安装等。这里要修改的是应用程序池,选择“无托管代码”:

这里已经就绪了,那就打开发布的站点,没有成功。

二、问题及解决

1、出现的问题是 500.19:

2、经过查找是由于 .NET Core 是自托管的,所以要再 IIS 上面托管 .NET Core 要安装一个.NET Core 托管捆绑包,这个包可以在官网下载:

直接下载(当前版本)

使用以下链接下载安装程序:

当前 .NET Core 托管捆绑包安装程序(直接下载)

先前版本的安装程序

若要获取先前版本的安装程序:

  1. 导航到 .NET 下载存档
  2. 在“.NET Core”下,选择 .NET Core 版本。
  3. 在“运行应用 - 运行时”列中,查找所需的 .NET Core 运行时版本的那一行。
  4. 使用“运行时和托管捆绑包”链接下载安装程序。

我本地是 2.1.4 的所以,具体下载是:

3、下载安装后在 IIS-模块 里面会有“AspNetCoreModule”模块,这时再打开发布的站点,已经成功!

 

后记:

之后测试了,用 Nginx 做代理,这时先运行应用。

由于 .NET Core 会有两个: http://localhost:5000、https://localhost:5001

在做代理时,我直接选用的是 https://localhost:5001,但是报错。

换成了  http://localhost:5000 ,测试成功。

posted @   漠里  阅读(9968)  评论(2编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示