proget nuget 服务器中是否有设置使其考虑版本 1.0.1.0 = 1.0.1
ProGet nuget 服务器没有选项让它考虑 version 1.0.1.0
= 1.0.1
。
我认为这个包是用旧的 nuget cli 打包的<=v 3.3.0
。并且由于 nuget ,如果第四个节点自动为零v3.4.4
,则 nuget 将删除它。
而最新的VS和nuget如果安装你的包版本,会忽略包版本的第四个零节点1.0.1.0
。请参阅此 Microsoft 官方文档。
因此,如果您从本地源安装它,或者nuget.org
在这些源上安装它,它将从源路径中删除最后一个零。
但是,在ProGet服务器(第三方 nuget 服务器而不是Microsoft)上,它仍然保留了包版本的第四个零节点。所以当你在VS上安装这个包时,它会1.0.1.0
在packages.config
文件中显示版本,当你恢复它时,它会找到1.0.1
自nuget新规则以来的版本。
实际上,当您启用 ProGet 包源时,它仍然可以找到version1.0.1.0
。在我这边,虽然它仍然显示版本1.0.1.0
和 vs 必须1.0.1
在恢复过程中捕获,但该项目仍然可以正常运行。
所以我怀疑你和我的环境之间存在一些偏差。
这是我的测试过程:
举个例子
这是我的包裹:
在 VS 中,它显示 version 1.0.1
。
但是,在ProGet nuget 服务器上,它显示 version 1.0.1.0
。
建议
首先,尝试先清理 nuget 缓存或删除C:\Users\xxx\.nuget\packages
.
然后启用proget nuget服务器包源,记得检查一下:
============================================
如果您仍然面临错误,您可以按照以下步骤操作:
作为建议,您可以在 nuget.org 上上传您的包,它会自动将您的包剔除到版本1.0.1
,然后同步到ProGet nuget 服务器。
当我上传版本1.0.1.0
时nuget.org
,它显示版本1.0.1
: