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

.NET MAUI添加类库依赖后MSBuild发布失败求助

解决MSBuild发布MAUI项目引用类库时的NETSDK1005错误

问题描述

使用命令msbuild /restore SmartcardMAUITest.csproj /restore /t:Publish /p:TargetFramework=net7.0-windows10.0.19041.0 /p:configuration=release(因遗留引用需用MSBuild而非dotnet publish)发布项目时可正常运行,但添加空.NET 7类库引用后构建失败,报错:

error NETSDK1005: Assets file '\SmartcardMAUITest\ClassLibrary1\obj\project.assets.json' doesn't have a target for 'net7.0'. Ensure that restore has run and that you have included 'net7.0' in the TargetFrameworks for your project. [\SmartcardMAUITest\ClassLibrary1\ClassLibrary1.csproj]

解决办法

  • 检查类库的目标框架配置:打开ClassLibrary1.csproj文件,确认<TargetFramework>或<TargetFrameworks>节点包含net7.0。单一目标框架配置示例:

    <TargetFramework>net7.0</TargetFramework>
    

    多目标框架需确保net7.0在列表中,比如:

    <TargetFrameworks>net7.0;net6.0</TargetFrameworks>
    
  • 单独对类库执行Restore:在发布主项目前,先为类库单独执行Restore操作,确保生成正确的project.assets.json文件:

    msbuild /restore ClassLibrary1\ClassLibrary1.csproj /p:configuration=release
    
  • 调整发布命令逻辑:原命令重复了/restore参数,可改为针对解决方案执行发布,确保依赖项目的Restore被触发:

    msbuild /restore SmartcardMAUITest.sln /t:Publish /p:TargetFramework=net7.0-windows10.0.19041.0 /p:configuration=release
    

    若必须单独发布主项目,可先执行全局Restore再发布:

    msbuild /restore /p:configuration=release
    msbuild SmartcardMAUITest.csproj /t:Publish /p:TargetFramework=net7.0-windows10.0.19041.0 /p:configuration=release
    
  • 清理缓存后重新构建:删除类库和主项目的obj、bin目录,清除旧缓存文件后,重新执行Restore和发布命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 06:32:36