有没有一种聪明的方法来处理NuGet中的包依赖?

kha*_*kha 10 c# visual-studio nuget

我们正在开发一个具有各种"共同"依赖关系(Unity,Prism等)的WPF应用程序.

在添加新项目然后为每个项目设置NuGet包依赖项时都很好,但是当涉及到升级时,它真的很痛苦,因为这意味着我们必须遍历每个项目,删除旧的引用然后重新获取最新的包来自NuGet.

例如,今天我的任务是将Prism从5.0升级到6.0(无论如何都有破坏性更改),这意味着除了修复我必须通过每个项目的所有命名空间冲突等之外,删除旧的引用,添加新的依赖性并冲洗并重复.

我的问题是,有没有更聪明的方法来解决这个问题,还是这是标准方法?

提前谢谢了,

更新:

我主要关心的是没有出现在包管理器上的"主要"升级.版本5.0 - > 6.0升级将被视为主要升级,因此,在NuGet包管理器中不会对其应用自动更新.

我不认为NuGet能够自动为我做这个,因为这样的升级可能(并且经常)包括重大改变但我想知道是否有一种方法来进行主要升级比从删除引用更少痛苦每个项目的项目和packages.config,然后使用NuGet重新添加它们.对于一个相对较大的项目,这非常耗时,我想知道是否有人有更好的方法来管理这种依赖.

djm*_*m61 3

如果您像您所说的那样使用 VS2013,则可以通过右键单击解决方案并选择“管理解决方案的 NuGet 包”来管理所有 NuGet 包。这将打开一个对话框,您可以在其中查看为解决方案中的所有项目安装的所有包以及具有可用更新的所有包。当您升级软件包时,VS 会处理所需的所有参考更改。如果软件包有重大更改,那么您仍然需要修复这些更改。

免责声明:我从未参与过 WPF 项目/解决方案,但对于 Web/表单应用程序,NuGet 包是这样处理的。