无法发布.NET MAUI Blazor Windows应用:资源清单及目标框架错误
.NET MAUI Blazor侧载发布Windows版本时的静态资源与目标框架错误求助
项目环境
- 项目结构:1个Razor Class Library、1个Blazor App、1个.NET MAUI Blazor App(后两者均引用Razor类库)
- 操作系统:Windows 10
- 开发工具:Visual Studio 2022 社区版 17.10.2
- .NET SDK:8.0.6(已更新至最新版)
- MAUI工作负载:已安装最新版
问题详情
- 除Windows侧载发布外,其他操作均正常:发布Android、Web平台无问题,编译生成的exe可正常运行;仅右键项目选择“发布”以侧载方式发布Windows版本时失败
- 错误演进:
- 初始错误:提示未知RuntimeIdentifier
win10-x64,手动修改为win-x64后解决 - 后续错误:
未找到清单文件'obj\Release\net8.0\staticwebassets.build.json' - 尝试复制该文件到对应路径后,新错误:
project.assets.json不包含针对'net8.0-windows10.0.19041.0'的目标 - 执行CLI命令
dotnet publish --framework net8.0-windows10.0.19041.0发布失败,提示project.assets.json的TargetFrameworks中无对应目标 - 执行
dotnet clean和dotnet restore后,出现错误:NETSDK1005: 资源文件'[..]\RazorClassLibrary1\obj\project.assets.json'无'net8.0'目标,请确保已执行还原且项目TargetFrameworks包含net8.0——无论是否在MAUI Blazor App的TargetFrameworks中添加net8.0,该错误均存在,且发布失败,但VS直接运行应用正常
- 初始错误:提示未知RuntimeIdentifier
已尝试的排查操作
- 删除所有项目的obj和bin文件夹
- 清理并重新生成整个解决方案
- 更新.NET SDK至8.0.6最新版
- 更新MAUI工作负载至最新版
- 单独发布新建的空白.NET MAUI Blazor App,可正常完成
- 尝试将
staticwebassets.build.json从项目其他路径复制到obj\Release\net8.0文件夹 - 尝试在MAUI Blazor App的csproj第一行TargetFrameworks中添加
net8.0; - 通过CLI以打包、未打包两种方式发布,均失败
关键配置信息
.NET MAUI Blazor App的csproj中TargetFrameworks配置:
<TargetFrameworks>net8.0-android;net8.0-ios;net8.0-maccatalyst</TargetFrameworks> <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net8.0-windows10.0.19041.0</TargetFrameworks>
内容的提问来源于stack exchange,提问作者DragonSpecter
相关产品推荐
相关产品推荐

