Nuget:将多个大型解决方案迁移到 PackageReference

Nuget: Migrating multiple large Solutions to PackageReference

背景

我正在处理一个包含多个大型解决方案的大型项目。总之,我们有超过 400 个 C# 项目。过去,我们将 Nuget 与 packages.config 文件一起用于我们的依赖项。现在我们要将所有项目迁移到新的 PackageReference 格式。

问题

我知道 Visual Studio 提供了将 单个 项目从 packages.config 迁移到 PackageReference 格式的解决方案,但我不知道知道我可以一次迁移多个 Visual Studio 解决方案的解决方案。我不需要 Visual Studio 的兼容性检查,因为所有使用的包都与新格式兼容。

问题

是否有一种方便的方法可以将多个 Visual Studio 解决方案一次从 packages.config 迁移到 PackageReference 格式?

Nuget: Migrating multiple large Solutions to PackageReference

为了确保迁移的准确性,Visual Studio 和大多数扩展都提供将单个项目从 packages.config 迁移到 PackageReference 格式,并将执行兼容性检查Visual Studio.

如果您想一次迁移多个 Visual Studio 解决方案,AFAIK,目前没有这样的方法或扩展。

作为解决方法,我想为您提供一个扩展:

NuGet PackageReference Updater

可以一次性将具有多个大型项目的单个解决方案从packages.config迁移到PackageReference格式。只需在 Solution Explorer 中右键单击 Solution,然后单击 Upgrade to Package References:

希望对您有所帮助。

我发现已接受的答案不太相关,因为扩展名 link 已损坏。我确实看到一些 repo 包含要迁移的自定义代码,但它只是进行了 1-1 替换而没有消除传递依赖性 - 不好。

所以,我自己写了一些东西来自动化将 built-in 迁移工具应用于所有非 Asp.Net 项目的过程 - https://github.com/MarkKharitonov/NuGetPCToPRMigrator

我用它跨几个解决方案迁移了数百个项目。