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

如何在Visual Studio NuGet包管理器中屏蔽.NET 9相关更新

实现.NET 8项目仅接收8.x.x版本NuGet更新的方案

完全可以通过配置项目文件或NuGet设置实现需求,以下是具体方法:

1. 单个项目锁定包版本范围(推荐)

直接修改项目的.csproj文件,给目标NuGet包指定版本区间约束,确保仅在8.x.x范围内更新:

  • 找到对应的PackageReference节点,将固定版本改为区间格式[8.0.0, 9.0.0)(表示≥8.0.0且<9.0.0的版本)
  • 示例:
    <!-- 原配置 -->
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.11" />
    
    <!-- 修改后 -->
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="[8.0.0, 9.0.0)" />
    
    这样NuGet在检查更新时,只会筛选8.x.x系列的补丁版本(比如8.0.12),自动排除9.x.x及以上版本。

2. 项目级NuGet.Config全局约束

如果需要统一约束多个Microsoft类库,可在项目根目录创建/修改NuGet.Config文件,添加版本依赖约束:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!-- 设置优先选择最高补丁版本 -->
  <config>
    <add key="dependencyVersion" value="HighestPatch" />
  </config>
  <!-- 针对.NET 8框架设置包版本范围 -->
  <dependencyConstraints>
    <group targetFramework="net8.0">
      <dependency id="Microsoft.EntityFrameworkCore" version="[8.0.0, 9.0.0)" />
      <dependency id="Microsoft.AspNetCore.Mvc" version="[8.0.0, 9.0.0)" />
      <!-- 添加其他需要约束的Microsoft类库 -->
    </group>
  </dependencyConstraints>
</configuration>

该配置会对整个项目的所有包引用生效,确保所有指定的Microsoft类库仅更新至8.x.x版本。

3. Visual Studio临时筛选更新(快速操作)

如果只是临时不想看到9.x.x版本,可在NuGet包管理器的「可用更新」界面:

  • 点击「版本」列的筛选框,输入8.*
  • 列表会自动过滤出所有8开头的版本,临时屏蔽9.x.x的更新提示

以上方法均可实现:在目标框架为.NET 8期间,仅接收8.x.x范围的补丁更新通知,同时排除9.x.x版本的更新提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 01:56:03