Nuget依赖性似乎已被较低版本的SOMEHOW覆盖

时间:2019-02-08 20:44:03

标签: .net .net-core dependencies versioning nuget-package

我对Nuget依赖项有一个奇怪的问题。我有一个项目为nuget包,该项目也以nuget包为目标。即使一切都说是1.2.3版,它也会变成1.2.2.2。

我可能在3个和4个编号版本之间切换时犯了一个错误:

1.2.3
1.2.2.2
1.2.2.1
1.2.2
1.2.0
1.1.9

它的行为就像对1.2.3的依赖关系不会被识别为1.2.3而是无法找到1.2.3.0(?),然后是1.2.2.2。

但是要做好准备,我认为可以,3/4版本格式存在问题,因此我转向4编号格式,并在1.2.3之后推出了两个版本:

1.2.5.1
1.2.4.1
1.2.3

当我制作1.2.4.1版本时,一切都开始正常工作,还获得了项目要求的1.2.4.1,并使用1.2.4.1进行了构建。

但是当我推送版本1.2.5.1时,一切都变得很疯狂,该项目已更新为获得1.2.5.1,它已安装,但在构建过程中由于某种原因被覆盖,以1.2.4.1为目标,我真的不知道现在为什么?

在构建文件xxx.deps.json之后是此替代项:

"GreenSuperGreen.Benchmarking.NetStandard/1.2.5.1": {
"dependencies": {
"Concurrent.FastReflection.NetStandard": "1.0.1",
"GreenSuperGreen.NetStandard": "1.2.5.1",
"System.Collections.Immutable": "1.5.0"
},
"runtime": {
"lib/netstandard2.0/GreenSuperGreen.Benchmarking.NetStandard.dll": {
"assemblyVersion": "1.2.4.1",
"fileVersion": "1.2.4.1"
}
}
},

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,但没有找到解释。

如果项目依赖于nuget包,则在项目文件中设置了DotNet或DotNetCore:

  <PreserveCompilationContext>false</PreserveCompilationContext>

然后版本依赖性将再次开始正常工作。