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

Windows下发布MAUI Release版本报错:project.assets.json无net6.0目标

MAUI Release模式发布失败:project.assets.json缺少net6.0目标

问题描述

在Windows平台发布MAUI应用时,Debug和Release模式均可正常构建,Debug模式发布成功,但Release模式发布失败,重复出现以下报错:

Assets file 'XXXX\obj\project.assets.json' doesn't have a target for 'net6.0'. Ensure that restore has run and that you have included 'net6.0' in the TargetFrameworks for your project.

其中XXXX是MAUI项目引用的同解决方案下的辅助项目,已确认这些辅助项目的.csproj文件中已配置:

<PropertyGroup>
  <TargetFramework>net6.0</TargetFramework>
  <ImplicitUsings>enable</ImplicitUsings>
  <Nullable>enable</Nullable>
</PropertyGroup>

已尝试过的无效操作:清理Bin/Obj文件夹、清理解决方案、重新加载项目、执行dotnet restore、检查Azure服务身份验证。

解决思路

  • 检查辅助项目的Release配置目标框架
    右键辅助项目→属性→生成,切换到Release配置,确认目标框架是否为net6.0。部分项目的Debug和Release配置可能存在独立的TargetFramework设置,需确保Release配置与Debug一致。

  • 强制指定Restore的目标框架与运行时
    在解决方案根目录执行带参数的restore命令,明确指定目标框架和发布架构:

    dotnet restore -f -r win-x64 --framework net6.0
    

    可根据实际发布需求调整win-x64为win-x86或win-arm64。

  • 验证MAUI项目对辅助项目的引用配置
    编辑MAUI项目的.csproj文件,检查ProjectReference是否未被条件编译限制在Debug模式:

    <ProjectReference Include="..\XXXX\XXXX.csproj" />
    

    移除类似Condition="'$(Configuration)' == 'Debug'"的限制条件。

  • 清理全局NuGet缓存
    执行命令清理NuGet全局缓存,避免损坏的缓存包干扰:

    dotnet nuget locals all --clear
    

    清理完成后重新执行dotnet restore。

  • 检查MAUI发布配置的目标框架
    打开MAUI项目的发布配置文件(路径通常为Properties/PublishProfiles/*.pubxml),确认<TargetFramework>设置为net6.0-windows,确保与辅助项目的net6.0目标框架兼容。

  • 手动生成辅助项目的Release模式assets文件
    进入辅助项目的目录,执行以下命令强制生成Release模式下的project.assets.json:

    dotnet build --configuration Release --framework net6.0
    

    完成后回到MAUI项目重新尝试发布。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 21:50:12