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

.NET MAUI项目中Microsoft.WindowsAppSDK等NuGet被项目阻止求助

解决.NET 7 MAUI项目中NuGet包被“Blocked by project”的问题

以下是针对这类问题的几种可行解决办法:

  • 检查并修改项目文件的锁定配置
    直接打开项目的.csproj文件,查找被锁定的NuGet包对应的<PackageReference>节点,看是否存在<IsLocked>true</IsLocked>的配置。如果有,删除这个锁定节点或者把值改成false,保存文件后重新加载项目。示例:

    <!-- 修改前 -->
    <PackageReference Include="Microsoft.WindowsAppSDK" Version="1.2.230117.4">
      <IsLocked>true</IsLocked>
    </PackageReference>
    
    <!-- 修改后 -->
    <PackageReference Include="Microsoft.WindowsAppSDK" Version="1.2.230117.4" />
    
  • 清理NuGet缓存并重建项目

    1. 打开Visual Studio的「工具」菜单,选择「NuGet包管理器」->「包管理器设置」;
    2. 在「NuGet包管理器」->「常规」选项中点击「清除所有NuGet缓存」;
    3. 右键项目选择「清理」,再选择「生成解决方案」,之后重试NuGet操作。
  • 确认.NET SDK版本兼容性
    打开命令行运行dotnet --list-sdks查看本地.NET 7 SDK版本,确保是最新的稳定版。MAUI项目对SDK版本依赖严格,部分NuGet包的版本需要和SDK版本匹配,版本不兼容会导致包被锁定。

  • 移除NuGet锁定文件
    找到项目目录下的packages.lock.json文件,删除它(建议先备份),然后重新打开项目,让NuGet自动重新生成依赖锁定文件,之后再尝试操作NuGet包。

  • 检查并更新MAUI工作负载
    打开Visual Studio安装程序,选择「修改」,确认「.NET Multi-platform App UI开发」工作负载是最新版本,且包含所有相关可选组件(比如Windows App SDK组件)。更新完成后重启Visual Studio,再进行NuGet操作。

  • 手动修改包版本(兜底方案)
    如果以上方法都无效,直接在.csproj文件中修改目标NuGet包的Version值为你需要的版本,保存后右键项目选择「还原NuGet包」,等待还原完成后检查是否生效。示例:

    <PackageReference Include="Microsoft.WindowsAppSDK" Version="1.4.231008.100" />
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:12:10