8

背景

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

问题

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

问题

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

4

2 回答 2

3

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

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

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

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

NuGet PackageReference 更新程序

它可以一次将具有多个大型项目的单个解决方案从 packages.config 迁移到 PackageReference 格式。只需右键单击解决方案资源管理器中的解决方案,然后单击升级到包引用

在此处输入图像描述

希望这可以帮助。

于 2018-09-11T09:52:19.413 回答
3

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

因此,我编写了自己的东西来自动化将内置迁移工具应用于所有非 Asp.Net 项目的过程 - https://github.com/MarkKharitonov/NuGetPCToPRMigrator

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

于 2020-10-04T23:35:11.173 回答