技术速递|使用 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 存储库中打开问题来与我们分享反馈。如果您有任何问题或建议,也可以在此帖子上发表评论。

相关推荐
InCerry1 小时前
.NET 9中的异常处理性能提升分析:为什么过去慢,未来快
c#·.net·高性能
webmote331 小时前
DeepSeek私域数据训练之封装Anything LLM的API 【net 9】
.net·api·deepseek
蓝点lilac4 小时前
C# Task 取消执行的简单封装
c#·.net·多线程
码观天工11 小时前
揭秘C#异步编程核心机制:从状态机到线程池的全面拆解
性能优化·c#·.net·线程·多线程·并发·异步·并行·高性能
步、步、为营1 天前
.net consul服务注册与发现
.net·consul
步、步、为营1 天前
.net Avalonia应用程序生命周期
.net
xk_hypothesis1 天前
.NET WinForm图像识别二维码/条形码并读取其中内容
.net
追逐时光者1 天前
一款 .NET 开源、免费的适用于 Windows 下 PC 版微信/QQ/TIM的防撤回补丁(我已经看到了,撤回也没用了)!!
后端·.net
Kookoos2 天前
健康检查:在 .NET 微服务模板中优雅配置 Health Checks
微服务·架构·.net·abp vnext