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

相关推荐
dot.Net安全矩阵2 小时前
.NET | 剖析通过 TcpClient 实现内网端口转发
服务器·网络·tcp/ip·安全·.net
界面开发小八哥12 小时前
报表工具DevExpress Reporting v24.2亮点 - AI功能进一步强化
人工智能·.net·报表·界面控件·devexpress·ui开发
数据的世界0115 小时前
.NET能做什么?全面解析.NET的应用领域
.net
编程乐趣1 天前
Bogus:.NET的假数据生成利器
.net
勇者神龟2 天前
.net framework wpf 打包免安装exe文件
.net·wpf
小码编匠2 天前
C# 实现多线程启动停止暂停继续
后端·c#·.net
追逐时光者2 天前
.NET 在 Visual Studio 中的高效编程技巧集
后端·.net·visual studio
geovindu2 天前
CSharp: Oracle Stored Procedure query table
数据库·oracle·c#·.net
三天不学习2 天前
【Select 语法全解密】.NET开源ORM框架 SqlSugar 系列
数据库·.net·orm·微软技术·sqlsugar