Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio应用程序中的解决方案缺少某些NuGet包_C#_Visual Studio_Nuget_Packages - Fatal编程技术网

C# Visual Studio应用程序中的解决方案缺少某些NuGet包

C# Visual Studio应用程序中的解决方案缺少某些NuGet包,c#,visual-studio,nuget,packages,C#,Visual Studio,Nuget,Packages,在拉一些代码更新后,我发现我在构建时收到了这条消息 Some NuGet packages are missing from the solution. The packages need to be restored in order to build the dependency graph. Restore the packages before performing any operations 在解决方案资源管理器中,引用链接显示为缺少引用图标 我删除了引用,然后在Package

在拉一些代码更新后,我发现我在构建时收到了这条消息

Some NuGet packages are missing from the solution. 
The packages need to be restored in order to build the dependency graph. 
Restore the packages before performing any operations
在解决方案资源管理器中,引用链接显示为缺少引用图标


我删除了引用,然后在PackageManager控制台上出现了一个按钮,询问我是否要安装丢失的包。但是,这不起作用。

当我尝试在解决方案之外单独打开项目并构建它时,我收到了消息

需要恢复一个或多个NuGet程序包,但无法恢复,因为尚未授予许可。要给予同意,请打开Visual Studio选项对话框,单击软件包管理器节点并选中“允许NuGet在生成过程中下载丢失的软件包”。您还可以通过将环境变量“enablenUgetPackageStore”设置为“true”给予同意

我授予VS权限,然后在PackageManager控制台上运行

update-package -Reinstall  

第一次下载时可能会出现文件夹/zips内容错误,因此请转到Xamarin文件夹(
C:/User/YourName/AppData/Local/Xamarin
),删除或重命名或移出缺少nuget的文件夹或zips文件夹的内容


重新启动IDE,您的IDE将再次下载内容。我尝试了这个方法,效果很好。

单击Ctrl+Q并写入缺少的包的名称,然后单击搜索联机NuGet包匹配。 它将显示菜单单击浏览,将给您缺少的软件包单击安装,卸载或更新。

我在写这个答案时尝试了以下解决方案,但没有一个有效:

  • 清除缓存
  • 正在还原或重新安装包
  • 改变targetFramework
  • 更新Nuget包管理器
  • 然后我查看了一个下拉列表,似乎错误很小。包源已脱机!!我在我的系统上安装了VS2017 professional,打开了一个现有项目,发现缺少多个软件包。我尽我所能,不看包源


    解决方案

    步骤01。转到软件包管理器设置(工具>Nuget软件包管理器>软件包管理器设置)

    步骤02。检查包源。正如您所看到的,包源代码已经在这里下载了SDK/numets/packages。我不知道原因,但我的Visual Studio系统安装中缺少nuget.org的在线软件包源

    步骤03。将nuget.org作为包源安装,然后“清除所有nuget缓存”,然后还原包。错误会消失的

    名称:nuget.org(或如您所愿) 资料来源:


    右键单击解决方案,还原Nuget软件包..只需在Nuget命令行中键入restore?哦,我在右键单击项目。当我右键单击解决方案时,该选项可用。此时构建sln现在无需手动干预即可恢复丢失的项目。查看David Ebbo的“恢复nuget软件包的正确方法”博客我不使用Xamarin谢谢分享您的答案。请标出你的答案,这对其他有同样问题的社区是有益的。你也有同样的问题。这一切都是全新的,我花了半天的时间来尝试这些其他的解决方案,直到我找到了你的解决方案,这些方案才奏效