在Visual Studio 2013上启用NuGet包还原

时间:2014-10-11 14:33:32

标签: c# visual-studio-2013 google-plus nuget-package nuget-package-restore

我正在关注this easy tutorial开始使用C#中的Google+ API进行编码。但是,我在第3步中被困了几个小时,第一个子步骤是:

  1. 在Visual Studio中,单击“项目”>启用NuGet包还原>在对话框中回答是。
  2. 右键单击gplus-quickstart-csharp项目,然后选择Manage NuGet Packages。
  3. 单击“管理NuGet包”窗口中的“还原”。这将安装Google API客户端库。
  4. 当我点击Projet时,没有选项“启用NuGet包恢复”。

    管理Nuget Packages选项,但没有“恢复”按钮或选项。

    该项目没有构建并给我错误:

      

    错误1此项目引用了缺少的NuGet包   这台电脑。启用NuGet Package Restore以下载它们。对于   更多信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105。   丢失的文件是   C:\ Users \用户文档\谷歌+ \ gplus-快速启动-CSHARP \ .nuget \ NuGet.targets。 C:\ Users \ Documents \ google + \ gplus-quickstart -csharp \ gplus-quickstart-csharp \ gplus-quickstart-csharp.csproj 201 5 gplus-quickstart-csharp

    我访问了微软网站,它只重定向到NuGet文档,在那里我找不到任何有用的东西。我尝试了以下命令(在示例中描述):

    • d:\项目\ CONTOSO> nuget.exe恢复
    • d:\项目\ CONTOSO> nuget.exe恢复contoso.sln
    • d:\项目> nuget.exe restore contoso

    但无济于事。是的,NuGet已经安装完毕。有任何想法吗?谢谢!

7 个答案:

答案 0 :(得分:50)

找到菜单项:"启用nuget包恢复"右键单击解决方案上的解决方案资源管理器 - 而不是项目。

你收到一条消息:

  

您是否要在构建期间配置此解决方案以下载和恢复丢失的NuGet包?

那不是你想要的吗?

答案 1 :(得分:27)

您不想使用基于项目的nuget包还原!

确保您拥有最新的Nuget版本(工具 - >扩展程序和更新)

当你去构建项目时,它应该告诉你它需要下载nuget包(或者可能只是自动下载它们)。

编辑不确定是什么用downvotes:

http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html

  

NuGet团队现在推荐的是更清洁,更简单。 简而言之,你没有做任何特别的事情,它只是发生了!这是因为NuGet现在总是在构建VS之前恢复软件包。因此,您的文件无需任何更改,这很漂亮!

由于人们仍然在编辑问题以包含更多信息:

https://docs.nuget.org/consume/package-restore#common-issues-with-automatic-package-restore

答案 2 :(得分:12)

重命名.nuget文件夹,然后右键单击您的解决方案。然后应该可以看到启用Nuget包还原。

答案 3 :(得分:6)

我想你只想知道在哪里启用"允许Nuget下载丢失的包"

在VS2013中: 右键单击该项目 选择"管理解决方案的NuGet包" 然后点击"设置" 在新对话框中单击"管理NuGet包管理器"根级别 Tick / Untick"允许NuGet下载丢失的包"

答案 4 :(得分:4)

我遇到了这个问题并找到了一个可能适用于您的修复程序。我不得不编辑csproj文件,因为它们指向错误或不存在的包文件夹。

在csproj文件中查找引用路径,并确保packages文件夹路径正确无误:

<HintPath>..\packages\path\to\file.dll</HintPath>

也许是因为文件夹设置不正常,需要..\..\packages。此外,在顶部,NuGet添加了这一行:

<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

如果您必须编辑HintPaths,您可能还需要编辑它。在我的示例中,您将值更改为..\..\。最后,在底部,NuGet添加了一个名为EnsureNuGetPackageBuildImports的目标。您会看到其中包含..\packages路径的几个属性。再次使用我的示例,您必须将其更改为..\..\packages。所有这些值的基础当然是包含csproj文件的文件夹。

您的文件夹路径以非默认方式设置可能不常见,但是我的,这些信息对我有用。

答案 5 :(得分:1)

如果您右键单击某个项目,并且看不到&#34;启用Nuget Package Restore&#34;的选项,那么您没有看到此选项的原因是因为您没有Visual Studio中安装的最新版本的nuget包。

以下步骤将向您展示如何为您正在使用的Visual Studio版本安装相应的nuget包。 单击工具 - &gt;扩展和更新。扩展和更新对话框将 出现。单击对话框左侧栏中的在线。您应该看到列表中的第一个包&#34; Visual Studio 2013的Nuget包管理器。单击&#39;下载&#39;按钮安装。然后,您可能必须重新启动Visual Studio。

现在重新打开您的解决方案,然后右键单击解决方案名称。您现在应该看到一个对话框弹出窗口,询问您是否要还原此解决方案的包。如果您选择“是”&#39;然后,无论何时构建解决方案,nuget都会尝试下载您的解决方案所使用的相应软件包。

答案 6 :(得分:0)

在我的情况下,我刚刚创建了一个新解决方案,解决方案文件尚未保存。确保在“启用Nuget包还原”之前保存解决方案

相关问题