在某些主机上,当nuget.exe restore solution.sln
用于在构建之前强制恢复软件包时,与Nuget可视插件相比,我观察到该命令的行为并不相同。
在某些主机上,命令版本将内部版本号(默认值0)附加到版本号上,从而导致程序包文件夹中的路径包含该内部版本号。
因此,例如,除了拥有:
/packages/my_package.1.57.0/...
我有:
/packages/my_package.1.57.0.0/...
最后,它会导致构建失败,因为在内部,存储在.vcxproj中的目标正在寻找不包含构建号的第一个路径。我不知道它是否与观察到的行为有关,但是这些程序包是使用CoApp构建的本地C ++程序包
如果不是在同一主机上使用nuget.exe,而是使用Visual 2013的程序包管理器还原功能,它可以正常工作,并且使用不包含内部版本号的路径正确复制了程序包。然后构建就可以了。
当nuget.exe
在某些主机上而不是在其他主机上工作时,我怀疑是组件的不同版本或不同的默认设置。
对于我检查过的组件:
nuget版本:2.8.50926.602
视觉2013版本:12.0.31101.00更新4
它们在工作和不工作的主机上都是相同的。那还剩下什么呢?
最终,它出现在以下简单情况下(不幸的是,我无法重现该问题):
在有问题的工作站上,我可以通过以下方法解决此问题:
即使我无法复制:我对这种情况也很有信心,因为当查看包装内的东西时,我发现里面的东西与我制作的东西不一样。因此,该软件包已从其他位置下载。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句