Blazor项目部署IIS需先明确类型:WebAssembly仅需静态文件托管,用无托管代码应用池;Server需安装ASP.NET Core Hosting Bundle、启用AspNetCoreModuleV2和WebSocket,并配置web.config反向代理。
Blazor 项目发布并部署到 IIS,核心是把应用打包成静态文件(Blazor WebAssembly)或可执行的 .NET 应用(Blazor Server),再配置 IIS 正确托管。关键点在于发布方式、IIS 模块安装、网站配置和权限设置。
两者部署方式完全不同,必须先明确:
在项目根目录执行发布命令,输出到指定文件夹:
dotnet publish -c Release -o ./publish,输出内容可直接拷贝到 IIS 物理路径。dotnet publish -c Release -o ./publish --self-contained false(推荐依赖系统已安装的 .NET 运行时)。)与 IIS 网站路径一致;若部署在根目录,保持 。打开 IIS 管理器,新建网站或应用:
C:\inetpub\wwwroot\myblazor)。Blazor Server 依赖 ASP.NET Core 的反向代理能力,缺一不可:
AspNetCoreModuleV2。,且 forwardWindowsAuthToken="false"(除非用 Windows 身份验证)。
基本上就这些。WebAssembly 部署轻量但要注意路由(需配置 URL 重写处理客户端路由);Server 部署稍重但开发体验一致。别漏掉 Hosting Bundle 和 web.config —— 这两个是最常导致 500 或 502 错误的原因。