无法在 Visual Studio 2015 年安装任何包

Unable to Install Any Package in Visual Studio 2015

我已经尝试了所有可能找到的软件包,其中 none 个将安装到我的项目中。我已经安装了可用的扩展和更新列表中列出的每个更新。例如,当我尝试安装 SendGrid 时,结果如下(所有其他包的结果也是如此):

Attempting to gather dependencies information for package 'Sendgrid.6.1.0' with respect to project 'UI\MyApplication.MVC', targeting '.NETFramework,Version=v4.5.2'
Attempting to resolve dependencies for package 'Sendgrid.6.1.0' with DependencyBehavior 'Lowest'
Resolving actions to install package 'Sendgrid.6.1.0'
Resolved actions to install package 'Sendgrid.6.1.0'
For adding package 'SendGrid.SmtpApi.1.3.1' to project 'MyApplication.MVC' that targets 'net452'.
For adding package 'SendGrid.SmtpApi.1.3.1' to project 'MyApplication.MVC' that targets 'net452'.
Adding package 'SendGrid.SmtpApi.1.3.1' to folder 'C:\Users\Keith\Source\Workspaces\MyApplication\MyApplication.MVC\packages'
Install failed. Rolling back...

我不可能是这个星球上唯一对 Visual Studio 2015 和新的 "improved" NuGet 包管理器有问题的人。

更新:
好吧,我的解决方案一定很奇怪,因为我从 VS2015 模板 (web) 创建了一个新项目并且包安装得很好。当我发现这个问题时,我会 post 解决其他人 运行 遇到同样问题的问题。

更新 2:
好吧,这不是我们的解决方案。我们再次从头开始创建了一个新的解决方案(这可能浪费了我们很多开发时间),添加了几个包(Identity、EF、SendGrid),在将解决方案签入 VSO 之后,另一位开发人员执行了全新的创建发生分支和构建错误。当我转到单个项目的 NuGet 包时,它就像我添加的 none 个包可用一样。还有其他人遇到过这种情况吗?

我猜是 Nuget 包管理器与 VSO 搞混了。 我创建一个新项目,向其中添加包就好了,签入 TFS。 然后我回家,"Get Latest Version",运行,但失败了,因为 Nuget 包管理器没有恢复我的包。 解决方案:在我家的机器上

  1. 打开 Nuget 包管理器,卸载所有已安装的包
  2. 打开 References 文件夹,右键单击 > 删除您已安装的所有包
  3. 通过 Nuget 包管理器重新安装它们
  4. 签到

我找到了解决方案,请尝试更新 NuGet 包管理器。

为此:

  1. 从 VS 转到工具 -> 扩展和更新
  2. 打开左侧的更新菜单选项,然后selectVisual Studio图库.
  3. 如果有 Nuget 包安装程序的更新,它应该显示在右侧的列表中。点击更新
  4. 重启Visual Studio

这让我再次安装软件包没有问题。

希望对您有所帮助!

我通过工具 -> 扩展和更新重新安装 Nuget 包管理器解决了这个问题

就我而言,更新 Microsoft.CodeDom.Providers.DotNetCompilerPlatformMicrosoft.Net.Compilers 导致了 问题。

删除 binobjpackages 文件夹并重新启动 Visual Studio 2015 解决了 我的问题。

关闭并 re-opening VS2015 解决了这个问题。

似乎在某些情况下,只需重新加载受影响的项目即可。

我遇到了这个问题,这似乎是由解决方案级别 packages 文件夹中的某些损坏引起的。我删除了文件夹的内容,让nuget重新安装所有的包。

然后我可以再次安装新软件包。

tl;dr - 删除这个:

%AppData%/Nuget/Nuget.config

警告:如果您有自定义 NuGet 源,这将删除它们,您必须重新添加它们。


更长的版本:

您的 NuGet 配置可能已损坏。哦不:(

Nuget.config 是一个用于跟踪 NuGet 提取的所有位置以及配置其他内容的文件。 更有可能的是,这个 xml 文件不知何故被破坏了。

  • 转到这条路径:C:\Users\{{username}}\AppData\Roaming\
  • 删除Nuget.config
  • 重新启动 VS 以取得良好效果

供参考:在 2017 年的好日子里,您的文件应该看起来像这样

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <activePackageSource>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </activePackageSource>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <!-- Others -->
  </packageSources>
  <packageSourceCredentials>
    <!-- secret stuff -->
  </packageSourceCredentials>
</configuration>

只是为了帮助在将 VS2015 更新为更新 2 并尝试在网站上管理包时登陆此页面的任何人,收到 "NuGet configuration file is invalid" 错误,这是一个已知且公认的问题:

https://connect.microsoft.com/VisualStudio/feedback/details/2698136/nuget-configuration-is-invalid-manage-nuget-packages-for-solution-disabled

我通过从 http://dist.nuget.org/index.html

安装包管理器 3.4.4(测试版)让我的机器再次工作

他们还表示 Visual Studio 的更新 3 也将包含修复程序

一般关闭并重新打开 VS 2015 解决了我 运行 跨越 的大多数问题。有一次我确实需要 运行 修理我的一台电脑。

但是我正要这样做 Closing and re-opening VS2015 resolved the issue for me 我想我应该右键单击该项目并 卸载项目 然后右键单击并 重新加载项目 然后 Manage Nuget 成功了!

在我的例子中,这个问题是造成的,原因是我在每个项目下的目标框架设置不匹配。当我创建一个新项目时,VS 2015 默认为 4.5.2,但是我所有的 nuget 包都是为 4.6 构建的。

出于某种原因,VS 2015 没有向我显示这些错误。在我创建一个新的空项目并尝试在那里添加我的 nuget 项目之前,我没有看到它们。这种行为可能会加剧,因为我在初始设置期间多次重命名了项目。

通过

解决了问题
  • 将我的项目的目标框架更改为 4.6
  • 关闭 VS 2015
  • 已删除 "packages"、"obj" 和 "bin" 文件夹
  • 重新打开解决方案并尝试再次添加 nuget 包。

我正在使用 Visual Studio 2015 Update 3,我设法重现了这个错误(尽管据称 Update 3 包含修复程序)。

如上所述,一个可靠的修复方法是执行以下操作...1) 退出 Visual Studio,2) 删除 packages 文件夹,3) 重新启动 VS .

但是...如果您出于某种原因不想立即退出 VS,我仍然可以通过选择 add/remove 从所有项目中打包“管理解决方案的 NuGet 包”选项,而不是有问题的单个项目。

打开包文件夹。检查扩展名为 .deleteme 的文件是否存在,例如 Newtonsoft.Json.9.0.1.deleteme。手动删除所有具有 .deleteme 文件的包。删除 .deleteme 文件。关闭并打开 Nuget 资源管理器。

将nuget中的"package source"改为All

详情: None 以上对我的情况有所帮助。 我的问题是我仅限于一个私人提要。一旦我将 "package source" 更改为 All,我的问题就解决了。我认为问题的症结在于我的私有 pkg​​ 依赖于来自 nuget.org.

的其他 pkg

希望对大家有所帮助

就我而言,以上方法均无济于事。 在我的案例中,问题的根本原因是,我之前卸载了软件包,但没有将更改签入源代码管理(在我的案例中是 TFS)。检查更改后(=删除包文件夹中的文件),我可以重新安装包。

我在使用 Visual Studio 2017 时遇到了这个问题:原来有 两个 class 库项目 - 一个用于 .Net,另一个用于C#。我为 .Net 创建了一个,当我试图安装一个特定的包(在我的例子中是 Nunit)时,我收到了错误消息。

将项目重新创建为 C# class 库 修复了问题

您需要清除所有 NuGet 缓存;为此,您需要转到“选项”并像这样单击它:

修复 Visual Studio 2015 似乎已经为我解决了这个问题。在 GitHub 中查看 this issue 的 NuGet。

在我的例子中,soultion目录中有一个空的packages.config文件,删除后更新成功

只需重新启动 Visual Studio 对我有用..尝试重新启动 Visual Studio。