首页 文章

在Visual Studio 2013上启用NuGet包还原

提问于
浏览
34

我正在关注this easy tutorial以使用C#中的Google API开始编码 . 但是,我在第3步遇到了几个小时,其中第一个子步骤是:

  • 在Visual Studio中,单击“项目”>“启用NuGet包还原”>在对话框中回答“是” .

  • 右键单击gplus-quickstart-csharp项目,然后选择Manage NuGet Packages .

  • 单击“管理NuGet包”窗口中的“还原” . 这将安装Google API客户端库 .

当我点击Projet时,没有选项“启用NuGet包恢复” .

有一个Manage Nuget Packages选项,但没有Restore按钮或选项 .

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

错误1此项目引用此计算机上缺少的NuGet包 . 启用NuGet Package Restore以下载它们 . 有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105 . 丢失的文件是C:\ Users \ Documents \ google \ gplus-quickstart-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:\ projects \ contoso> nuget.exe恢复

  • D:\ projects \ contoso> nuget.exe恢复contoso.sln

  • D:\ projects> nuget.exe恢复contoso

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

7 回答

  • 27

    要查找菜单项:"enable nuget package restore"右键单击 solution 上的解决方案资源管理器 - 而不是项目 .

    你收到一条消息:

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

    那不是你想要的吗?

  • 4

    您不想使用基于项目的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

  • 12

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

  • 48

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

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

  • 0

    我遇到了这个问题并找到了一个可能适用于您的修复程序 . 我不得不编辑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文件的文件夹 .

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

  • 6

    如果右键单击某个项目,但没有看到“启用Nuget包还原”选项,则您没有看到此选项的原因是您没有在Visual Studio中安装最新版本的nuget包 .

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

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

  • 1

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

相关问题