首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在2.7到2.8之间的包恢复发生了什么?

在2.7到2.8之间的包恢复发生了什么?
EN

Stack Overflow用户
提问于 2014-02-12 15:42:07
回答 2查看 596关注 0票数 3

我们正在为许多包使用内部提要。今天,我们注意到包恢复不再有效。每个包都失败了,出现了这样的错误:

找不到版本“.”包裹“.”。

有问题的项目在2013-10-04年第一次提交,当时NuGet的版本为2.7。

多个人成功地克隆了源代码管理回购(源代码管理回购),它根本没有二进制文件,而且没有人记得包恢复的任何问题。所以要么我们所有人都疯了要么这件事很正常。

当我今天尝试做一个新的克隆并更新到第一次提交时,我会得到上面的错误。最近一次提交也是一样的。这是与NuGet 2.8

这些是2.7中有关包恢复更改的文档

然而,在采取上述任何步骤之前,NuGet会验证是否在两个级别上表示同意:

  1. Visual配置为“允许NuGet下载丢失的包”
  2. Visual配置为“在Visual中生成期间自动检查缺少的包”

这两个项目都在VS选项中签入。

这种包恢复方法提供了以下几个优点:

  1. 不需要为您的项目或解决方案启用它。Visual将在构建项目之前自动下载缺少的包,并且团队成员不需要理解NuGet包还原。

然而,这正是我们今天设法解决问题的方式:右键单击解决方案并启用包恢复。这导致了多个级别上的变化。

.csproj级

代码语言:javascript
运行
复制
+    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
+    <RestorePackages>true</RestorePackages>

.sln级

代码语言:javascript
运行
复制
+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的创建。

作为一个测试,我还创建了一个新的解决方案和项目。现在我

  1. 添加一个内部包
  2. 构建
  3. 关闭解决方案
  4. 删除packagesbinobj目录(就像我们的忽略文件一样)
  5. 打开溶液
  6. 重新生成,并获取问题开头提到的错误。

当我从官方回购处重复这些步骤时,一切都很好。一点错误都没有。

我已经看过了2.7.12.7.22.8.0的发行说明,但是我没有看到任何与此相关的东西。到底怎么回事?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-28 09:21:37

它是当前发布的确认的臭虫中的一个NuGet,但在夜间构建中是固定的。

现在的解决办法是将包源设置为Package控制台中的所有。

票数 2
EN

Stack Overflow用户

发布于 2014-02-13 18:20:33

这可能是由以下问题引起的:https://nuget.codeplex.com/workitem/4000

与此相关的是,nuget.exe客户端不会遵循重定向,因此,如果您的内部NuGet服务器在尝试下载包时返回302,则客户端不会跟随它,也不会导致任何事情发生。值得使用Fiddler跟踪进行反复检查,以确定VS扩展是否具有相同的行为。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21732544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档