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

时间:2018-09-11 09:19:58

标签: .net visual-studio nuget migration packagereference

背景

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

问题

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

问题

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

2 个答案:

答案 0 :(得分:1)

  

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

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

如果您希望立即迁移多个Visual Studio解决方案,即AFAIK,则目前没有此类方法或扩展名。

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

NuGet PackageReference Updater

这可以将具有多个大型项目的单个解决方案从package.config一次迁移到PackageReference格式。只需右键单击 Solution Explorer 中的 Solution ,然后单击升级到软件包引用

enter image description here

希望这会有所帮助。

答案 1 :(得分:1)

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

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

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