You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 9 Blazor Hybrid WPF发布缺失staticwebassets.runtime.json解决方案咨询

.NET 9 Blazor Hybrid WPF发布时自动生成staticwebassets.runtime.json的解决方案

针对你遇到的.NET 9版本Blazor Hybrid WPF项目发布后缺少staticwebassets.runtime.json文件,导致JS和CSS资源无法加载的问题,以下是几个可自动生成并复制该文件到发布目录的解决方案:

方案1:强制复制生成的清单文件

在项目的.csproj文件中添加以下配置,让构建系统在发布时自动将中间输出目录中的staticwebassets.runtime.json复制到发布目录:

<ItemGroup>
  <Content Include="$(IntermediateOutputPath)staticwebassets.runtime.json">
    <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
    <Visible>false</Visible>
  </Content>
</ItemGroup>

该配置会跟踪中间目录中文件的更新,确保发布时总是复制最新版本的清单文件。

方案2:启用静态Web资产发布清单属性

在.csproj的<PropertyGroup>中补充以下属性,明确告知.NET 9构建系统需要生成并发布静态Web资产清单:

<PropertyGroup>
  <!-- 保留原有属性,新增以下两项 -->
  <StaticWebAssetsPublishManifest>true</StaticWebAssetsPublishManifest>
  <CopyStaticWebAssetsToPublishDirectory>true</CopyStaticWebAssetsToPublishDirectory>
</PropertyGroup>

结合你已配置的<GenerateStaticWebAssetsManifest>true</GenerateStaticWebAssetsManifest>,这组属性可以修复.NET 9中发布流程遗漏清单文件的问题。

方案3:添加静态Web资产基础路径配置

参考你.NET 8项目的有效配置,在.NET 9的.csproj中加入StaticWebAssetsBasePath属性,修正清单文件的路径生成逻辑:

<PropertyGroup>
  <!-- 保留原有属性,新增 -->
  <StaticWebAssetsBasePath>_content/$(MSBuildProjectName)</StaticWebAssetsBasePath>
</PropertyGroup>

该属性可以确保生成的清单文件中资源路径正确,无需手动修改ContentRoots。

验证方法

完成配置修改后,重新执行发布操作,检查发布目录下是否已自动生成并包含staticwebassets.runtime.json文件,同时验证JS和CSS资源是否能正常加载。

内容的提问来源于stack exchange,提问作者yanxliu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:50:11