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

10

背景

我正在进行一个涉及多个大型解决方案的大型项目。总共有超过400个C#项目。过去我们使用packages.config文件和Nuget来管理我们的依赖项。现在我们想将所有项目迁移到新的PackageReference格式。

问题

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

问题

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

2个回答

3

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

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

如果您想要一种同时迁移多个Visual Studio解决方案的方法或扩展程序,目前还没有这样的方法或扩展程序。

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

NuGet PackageReference Updater

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

enter image description here

希望这有所帮助。

这并不是我所期望的解决方案,但仍然比逐个迁移项目要好得多。 - Niklas
这个可以用:http://vsixgallery.com/extension/NuGetPackageConfigConverter.Taylor%20Southwick.dd0141da-d26f-4013-8b78-72723a313486/ - MuhKuh
1
该VSIX已不再可用 - https://www.vsixgallery.com/extension/NuGetPackageConfigConverter.Taylor%20Southwick.dd0141da-d26f-4013-8b78-72723a313486/ - jjee

3

我觉得被接受的答案并不太相关,因为扩展链接损坏了。我看到有些存储库包含自定义代码用于迁移,但是它只做了1-1替换而没有消除传递依赖-这不好。

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

我使用它来迁移几百个项目到几个解决方案中。


1
感谢您在这里发布它。 - John H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接