我的解决方案设置为启用还原包,.nuget文件夹和所有预期的内容都存在。在解决方案的根级别,我有一个Nuget.config(我无法使用.nuget文件夹中的配置文件,因为VS没有加载它),添加了自定义Artifactory源并禁用了默认的nuget源。
现在,如果我从命令行构建(使用msbuild),则包成功还原,如果我在Visual Studio中构建,则包也可以成功还原。 但是,如果我从Manage NuGet Packages窗口中单击恢复按钮,Nuget只下载一个包,该文件夹名为1.1.0.0,这显然不是有效的包,并且在通过任一自动方法进行恢复时不存在。
有人能解释一下这里发生了什么吗?
修改:根据一些评论,这似乎不是NuGet的严格问题,但与Artifactory结合使用时。
经过一些调查后,在其他两种情况下也会触发此软件包的下载(包括使用Artifactory 3.0.4:
1)。通过单击,在Visual Studio中还原NuGet包 “Nuget包管理器窗口”上的“还原包”按钮
3)。尝试在未在repo上进行身份验证的情况下还原包
答案 0 :(得分:1)
我也遇到了这个问题。我认为它与某人创建此包的事实有关:
http://www.nuget.org/packages/1/
为什么他们会创造它超出我,但它也造成了神秘的怪异。我认为这与包名称也是有效版本号的事实有关。
答案 1 :(得分:1)
虽然NuGet Gallery确实有一些垃圾,但问题在于Artifactory 3.0.3。
https://www.nuget.org/api/v2/Packages(Id='PACKAGE_ID',Version='PACKAGE_VERSION')
的请求在NuGet 2.7和Artifactory 3.0.4中有所改变(见https://www.jfrog.com/jira/browse/RTFACT-5953)。
主要是3.0.3中的问题是它忽略了Pacakges()的内部内容,因此从Gallery中获得了1
包的第一个结果。