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

wapproj项目打包MSIX时出现'project.assets.json'无net6.0/win-x64目标的错误求助

wapproj项目打包MSIX时出现'project.assets.json'无net6.0/win-x64目标的错误求助

看起来你遇到的是wapproj打包MSIX时很常见的运行时标识符(RID)配置不匹配问题,我来帮你梳理几个针对性的解决方向,你可以逐一尝试:

  • 先修正wapproj的核心配置
    你之前只添加了<TargetFramework>net6.0</TargetFramework>,但WinForms属于Windows桌面专属框架,wapproj需要明确指定Windows特定的框架版本和运行时标识符。打开你的wapproj文件,在<PropertyGroup>块里更新配置:

    <PropertyGroup>
      <TargetFramework>net6.0-windows</TargetFramework>
      <RuntimeIdentifiers>win-x64</RuntimeIdentifiers>
      <Platforms>x64</Platforms>
    </PropertyGroup>
    
  • 同步主WinForms项目的配置
    确保你的C# WinForms项目也和wapproj的配置对齐:

    1. 右键WinForms项目→属性→生成
    2. 平台目标选择x64,取消勾选“首选32位”选项
    3. 切换到“包”标签页,在“运行时标识符”列表里添加win-x64
    4. 确认目标框架设置为net6.0-windows(如果之前是单纯的net6.0,需要改成这个)
  • 确认C++ DLL的架构匹配
    因为你用到了C++ DLL,必须保证这个DLL是x64架构编译的,并且已经放到WinForms项目的x64输出目录(比如bin/x64/Debug或Release)中。如果DLL是32位的,会导致打包时资产文件识别异常。

  • 执行完整的清理+还原流程
    单纯删除bin/obj文件夹可能不够彻底,建议用命令行执行更完整的操作:

    1. 打开命令提示符,导航到你的解决方案根目录
    2. 运行 dotnet clean 清理所有项目的输出文件
    3. 运行 dotnet restore --runtime win-x64 强制按x64运行时还原所有依赖
    4. 重新生成整个解决方案,再尝试打包wapproj
  • 检查wapproj的项目引用配置
    确保wapproj引用的WinForms项目是x64配置:

    1. 右键wapproj→添加→项目引用,勾选你的WinForms项目
    2. 在引用对话框里点击“配置”按钮,确认在x64平台下,引用的项目处于启用状态,且对应x64输出版本

如果以上步骤都试过还是不行,可以尝试删除解决方案根目录下的obj文件夹和.vs隐藏文件夹,然后重新打开Visual Studio再操作一次。

备注:内容来源于stack exchange,提问作者v38armageddon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 07:45:27