我们正在为许多包使用内部提要。今天,我们注意到包恢复不再有效。每个包都失败了,出现了这样的错误:
找不到版本“.”包裹“.”。
有问题的项目在2013-10-04年第一次提交,当时NuGet的版本为2.7。
多个人成功地克隆了源代码管理回购(源代码管理回购),它根本没有二进制文件,而且没有人记得包恢复的任何问题。所以要么我们所有人都疯了要么这件事很正常。
当我今天尝试做一个新的克隆并更新到第一次提交时,我会得到上面的错误。最近一次提交也是一样的。这是与NuGet 2.8
这些是2.7中有关包恢复更改的文档
然而,在采取上述任何步骤之前,NuGet会验证是否在两个级别上表示同意:
这两个项目都在VS选项中签入。
这种包恢复方法提供了以下几个优点:
然而,这正是我们今天设法解决问题的方式:右键单击解决方案并启用包恢复。这导致了多个级别上的变化。
.csproj级
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
+ <RestorePackages>true</RestorePackages>
.sln级
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{6FE1C500-523A-4E05-B72E-28F14DEDB055}"
+ ProjectSection(SolutionItems) = preProject
+ .nuget\NuGet.Config = .nuget\NuGet.Config
+ .nuget\NuGet.exe = .nuget\NuGet.exe
+ .nuget\NuGet.targets = .nuget\NuGet.targets
+ EndProjectSection
+EndProject
最后,.nuget\NuGet.Config
、.nuget\nuget.exe
和.nuget\NuGet.targets
的创建。
作为一个测试,我还创建了一个新的解决方案和项目。现在我
packages
、bin
和obj
目录(就像我们的忽略文件一样)当我从官方回购处重复这些步骤时,一切都很好。一点错误都没有。
我已经看过了2.7.1、2.7.2和2.8.0的发行说明,但是我没有看到任何与此相关的东西。到底怎么回事?
发布于 2014-02-28 09:21:37
它是当前发布的确认的臭虫中的一个NuGet,但在夜间构建中是固定的。
现在的解决办法是将包源设置为Package控制台中的所有。
发布于 2014-02-13 18:20:33
这可能是由以下问题引起的:https://nuget.codeplex.com/workitem/4000
与此相关的是,nuget.exe客户端不会遵循重定向,因此,如果您的内部NuGet服务器在尝试下载包时返回302,则客户端不会跟随它,也不会导致任何事情发生。值得使用Fiddler跟踪进行反复检查,以确定VS扩展是否具有相同的行为。
https://stackoverflow.com/questions/21732544
复制相似问题