如果要始终强制使用最低版本,csproj中的版本范围有何意义?

时间:2019-01-04 17:22:56

标签: visual-studio-2017 nuget

因此,我在解决nuget软件包版本控制应该如何工作方面遇到了一些麻烦。据我了解,Version =“ 6。*”(或[6.0,7.0))表示任何6.x.x版本都是有效的,并且默认行为应为它将使用该范围内的最低兼容版本。 。正确?我假设的意思是,如果尚未使用该范围内的版本,则它将获取最低版本,但相反,它似乎正在做的是删除已安装的内容并替换为最低的版本,这会引起问题。

示例: 项目A已安装软件包foo-2.4。它还安装了依赖于bar-1.0的软件包foo-2.*。从逻辑上讲,我认为安装软件包bar应该没问题,因为它会在正确的范围内看到foo-2.4并使用它,但实际上是在尝试删除{{1 }},并用foo-2.4替换它,由于包管理器检测到降级并中止安装,因此失败。

我在这里误解/遗漏了什么,还是NuGet软件包管理器没有正确处理此问题?现在在csproj文件中是否存在一些与nuspec有关的怪癖,或者也许我应该添加一些内容以确保正确指定了依赖项?

0 个答案:

没有答案