技术速递|使用 Dependabot 管理 .NET SDK 更新

作者:Jamie Magee - 高级软件工程师

排版:Alan Wang

保持 .NET SDK 版本的更新对于维护安全高效的应用程序至关重要。现在 Dependabot 可以在 global.json 中更新 .NET SDK 版本,这使您可以比以往更轻松地确保自己的应用程序始终运行最新的安全补丁和改进。

定期更新 SDK 至关重要,因为它们包括:

  • 已知漏洞 (CVE) 的安全补丁

  • 错误修复和性能改进

  • 最新的开发工具和功能

使用 global.json 管理 SDK 版本

若要管理 .NET SDK 版本,通常需要在项目中使用 global.json 文件。此文件指定项目应使用哪个版本的 SDK。以下是一个简单的 global.json 文件示例:

csharp 复制代码
{
  "sdk": {
    "version": "9.0.100"
  }
}

如果您正在使用 GitHub Actions 和 dotnet/setup-dotnet Action,此文件将确保在您的 CI/CD 管道中使用正确的 SDK 版本。

配置 Dependabot 以进行 .NET SDK 更新

请在默认分支中的 .github/dependabot.yml 文件路径下将一个 dependabot.yml 文件添加到您的存储库。如果您始终希望收到最新更新,则最简单配置将如下所示:

csharp 复制代码
version: 2
updates:
  - package-ecosystem: "dotnet-sdk"
    directory: "/"

但是 .NET SDK 更新大多在"补丁星期二"(每月的第二个星期二)发布,因此您可能需要调整更新计划,以便每周仅检查一次更新。您可以通过添加 schedule 部分来实现这一点:

csharp 复制代码
version: 2
updates:
  - package-ecosystem: "dotnet-sdk"
    directory: "/"
    schedule:
      interval: "weekly"
      day: "wednesday"

此外,如果您只想关注安全补丁,可以忽略主要版本和次要版本更新。这可以通过添加 ignore 部分来实现:

csharp 复制代码
version: 2
updates:
  - package-ecosystem: "dotnet-sdk"
    directory: "/"
    schedule:
      interval: "weekly"
      day: "wednesday"
    ignore:
      - dependency-name: "*"
        update-types: 
          - "version-update:semver-major"
          - "version-update:semver-minor"

Dependabot 还将遵守 global.json 文件中的 allowPrerelease 设置。因此,如果您想在更新中包含预发布版本,请确保相应地设置该选项。

有关所有可用配置选项的更多详细信息,请参阅 Dependabot 文档

Dependabot NuGet 软件包更新

除了 .NET SDK 更新之外,您还可以配置 Dependabot 来管理您的 NuGet 包依赖项。去年,我们显著改进了 Dependabot 中的 NuGet 支持,以管理更复杂的场景,因此您也可以轻松地让您的包保持最新状态。

反馈

您可以通过在 Dependabot 存储库中打开问题来与我们分享反馈。如果您有任何问题或建议,也可以在此帖子上发表评论。

相关推荐
MyBili14 小时前
游戏报错缺少dll、无法启动?GRLPackage 运行库合集一键修复指南
游戏·.net·directx·运行库·xna·openal·vc++ redis
慧都小妮子15 小时前
PDF图片提取总“褪色“?Aspose.PDF 多层级提取能力详解
pdf·c#·.net·图片处理·文档处理·色彩空间
海盗123418 小时前
微软技术周报 · 2026-08-10
microsoft·.net
hez20101 天前
.NET 11 Runtime Async 详解
c#·.net·.net core
猿长大人1 天前
C# | Serilog 新手入门
开发语言·c#·.net·log
猿长大人2 天前
C# | Autofac 新手指南:从零理解依赖注入与组件装配
c#·.net·di·依赖注入
AmyLin_20012 天前
PDF 色彩保真工程实践【6】怎么证明“真的无损“?——SHA-256 校验与三个真实踩坑
c++·pdf·内存·sdk·调试·印刷
半亩码田3 天前
【.NET新特性·第10篇】.NET 10 概览:LTS 版本的全面进化
大数据·.net
回忆2012初秋4 天前
.NET 中 TAP:构建健壮后台任务(BackgroundService)的完全指南(二)
网络·.net
猿长大人4 天前
C# | MediatR 入门指南:后端架构解耦
分布式·后端·架构·c#·.net