ASP.NET Core Web API 发布到 IIS 服务器

目录

一、发布项目

二、创建应用程序池

三、创建网站

四、解决错误


在 VS 2022 中,创建一个 ASP.NET Core Web API 项目,项目我就使用默认的代码,没有添加任何代码,也没修改任何配置文件,系统我使用的是我自己的电脑,Win11 系统,如果是 Windows 服务器系统,比如:Windos Server,用法也大差不差。

一、发布项目

鼠标右键点击项目,选择发布

这里点击修改,必须要修改,不要使用默认的选项

修改后点击保存

点击发布

在项目的 bin --> Reslease --> net9.0 --> public 你就能看到发布好的文件

路径千万不能搞错了,否则后面在 IIS 上发布会出问题。

二、创建应用程序池

打开 IIS 管理器

添加应用程序池

这里的名称就写你项目的名字,版本这里选择 无托管代码

点击确定,这里比较简单,但也是必要的步骤。

三、创建网站

接着需要添加一个网站

这里的 网站名称 和刚刚创建的 应用程序池 一样

物理路径就是发布的文件夹,你可以将 public 复制出来放在其他的文件夹下,因为网站启动后,原地址的文件就不能修改了,会导致你的 VS 项目无法发布

端口这里随意,只要不冲突就行,不必和 VS 中的配置文件 launchSettings.json 端口号一样

这个时候,如果你点击 浏览

结果就会发现根本不能使用

四、解决错误

这个错误就是没装 ASP.NET Core 运行时,安装了就好了

打开下面的地址:
https://dotnet.microsoft.com/zh-cn/download/dotnet

选择 .NET 9(根据你实际使用的 .NET 版本号)

这时候会有非常多的选项,选择 ASP.NET Core 运行时 Hosting Bundle

下载完成后,点击安装

安装成功后,需要重启 IIS 服务,我们找到服务 --> IIS 管理服务,将其重新启动

windows server 应该没有这个服务,你可以忽略这个步骤。

但是 浏览 *:5246(http) 这里依然是无效的,这很正常,因为你的地址没有访问到项目中的路由地址

或者,你需要在 Program.cs 中修改代码,这样使用 http://localhost:5246/ 一样可以访问到一个默认的路由地址,就可以得到对应的回应了。

点击 你的 IIS 网站项目,双击鼠标左键进入 模块

如果你看到 AspNetCoreModuleV2 这一项,说明 Hosting Bundle 安装成功了

这个时候,需要 打开 Postman 或者 Apifox(国产软件)

使用正确的地址 + 路由 ,就能正常的使用了

如果出现了 HTTP Error 500.30 - ASP.NET Core app failed to start 错误,通常表示 ASP.NET Core 应用程序在启动过程中遇到了问题,导致无法正常运行。以下是可能的原因和相应的解决方案:

尝试将 web.config 文件中的 hostingModel 设置为 outofprocess,或删除该属性:

XML 复制代码
  <aspNetCore processPath="dotnet" arguments=".\你的项目名称.dll" hostingModel="outofprocess" />

要么则是项目版本不匹配,在发布项目时,配置文件的路径等不要搞错了

end

相关推荐
captain3761 分钟前
网络初 识
运维·服务器·网络
kyle~10 分钟前
Linux --- epoll (I/O就绪事件通知机制)
linux·运维·服务器
海盗123419 分钟前
微软技术日报 2026-09-08:Patch Tuesday 任务栏自由了,GPT-6 Astra 四平台齐发
gpt·microsoft
z落落3 小时前
C# WinForm Socket 转串口设备服务器+Modbus CRC16校验+Socket 客户端
服务器·开发语言·c#
海盗123411 小时前
微软技术日报 2026-09-07:Win11 默认开启内存完整性、统一版 Copilot 桌面端在即、明日 Patch Tuesday
microsoft·copilot
刚入门的大一新生12 小时前
Linux-进程控制
linux·运维·服务器·c++
上火的金鱼妹12 小时前
K8S基础组件作用和关系整理
linux·运维·服务器·kubernetes
醉颜凉13 小时前
网络安全必学:粘性MAC地址(Sticky MAC)原理与应用全解析
运维·服务器·网络·安全·web安全
晊晌_h13 小时前
嵌入式从0到精通——Linux C|TCP 并发服务器实现方案详解
服务器·开发语言·tcp/ip
广州灵眸科技有限公司14 小时前
从手动三步到上电即连:4G模组systemd开机自连方案
linux·运维·服务器·开发语言·网络·人工智能·php