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

相关推荐
2401_885885042 小时前
国际语音C#接口怎么写?.NET环境下实现国际语音验证码批量下发
开发语言·c#·.net
1-1=05 小时前
.NET Core 本地化 (L10n)
.net·.netcore
1-1=07 小时前
.NET Core 健康检查
.net·.netcore·1024程序员节
波力海苔夹心脆6758 小时前
C# string 字符串方法大全:判空、查找、截取、分割、替换一篇讲透
经验分享·c#·.net·字符串·string·入门教程
小羊没烦恼!8 小时前
.NET无侵入自动化探针原理和主流实现
运维·开发语言·javascript·python·自动化·.net·1024程序员节
IT规划师9 小时前
MQTT实战 - 遗嘱消息+心跳机制,让你的设备永远不会“假在线”(七)
物联网·.net
承渊政道1 天前
启元Q1机器人SDK实操:跑通触摸消息,用ROS 2图形界面完成调试与模型展示
机器人·sdk·具身智能·应用开发·ros 2·启元q1
公子小六1 天前
基于.NET的Windows窗体编程之WinForms自定义控件(3)
windows·c#·.net·音视频·winforms
波力海苔夹心脆6752 天前
C# StringBuilder 详解:字符串拼接为什么总说要用它?
开发语言·笔记·c#·.net·字符串·stringbuilder·入门教程
体验家2 天前
智能家居SDK反馈收集:体验家如何打通App与设备使用体验
智能家居·sdk·客户反馈