.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 ,测试成功。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端