我在一个现有的项目上安装了一个私有的NuGet包。该项目已经包含了私有NuGet包所需的几个依赖项,但其版本低于私有包所需的版本。当我试图安装私有包时,安装会抛出一个错误(没有错误号)。
包还原失败。回滚“ConsoleApp1 1”的包更改。
在包管理器输出中,它报告的是
检测到包装降级
由于它所引用的包是NuGet.org上的一个公共包,所以我希望至少会在安装过程中升级依赖项,而不是错误和回滚。我知道还没有包含在项目中的包正在自动安装,并且可以在日志中看到。
我看到了其他的帖子,从忽略警告/错误到进行升级的预构建脚本(这不是安装新软件包的选项)。
是否可以指示包管理器自动升级现有包,使其至少达到依赖列表定义的最小版本?
发布于 2020-02-15 22:53:54
恐怕不行。
这并不是一个简单的问题--假设它使用了您建议的方法,并且您的项目目前引用了packageA v1.0.0和packageB v1.0.0。
添加一个依赖于package A v2.0.0的新包。
它提示您将packageA从1.0.0升级到2.0.0,以避免降级。但是,package A 2.0.0对packageB有一个新的依赖性,即2.0.0,这会导致您对该包的评级降低。
每一次新的升级都会触发新的升级。您还可以设计一些场景,在这些场景中,甚至没有一种方法来升级其他包以使其全部工作。最重要的是,所有这些都需要从包源获取大量信息。
由于没有一种明确的、通用的方法来解决这个问题,所以工具让您自己决定要做什么。
https://stackoverflow.com/questions/60082825
复制相似问题