无法在Visual Studio 2015中安装任何程序包


183

我尝试了所有可能找到的软件包,但没有一个将安装在我的项目中。我已经安装了“扩展和更新”列表中列出的每个更新。例如,当我尝试安装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和“改进的” NuGet软件包管理器的问题的人。

更新:
嗯,在我的解决方案中一定有些奇怪,因为我是从VS2015模板(Web)创建了一个新项目,并且软件包安装得很好。发现问题后,如果其他人遇到相同问题,我将发布解决方案。

更新2:
好的,这不是我们的解决方案。我们再次从头开始创建了一个新的解决方案(这可能浪费了我们很多开发时间),添加了两个软件包(Identity,EF,SendGrid),并将解决方案签入VSO之后,另一位开发人员执行了全新的创建工作分支并生成错误。当我转到单个项目的NuGet程序包时,它的作用就像我添加的所有程序包都不可用。还有其他人遇到吗?


1
使用VS2013添加软件包VS2015非常有问题,然后只能在VS2015中打开并继续使用
Rob Sedgwick

Answers:


124

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>

谢谢,这是一个很好的解决方案
Nic

这也对我有用,谢谢雕像,您节省了我的时间。
Rameshwar Vyevhare

1
惊人的巧合。当我需要答案时,一年前的这篇帖子就在我眼前进行了编辑。谢谢!
杰森·斯帕克

1
很抱歉碰到这个问题,但是我的必须是特殊的,所以被称为“ NuGet.Config”,这对我来说在NTFS上非常具体!
TGP1994

2
(实际上,事实证明我什至根本不需要删除配置。需要重新启动Visual Studio。)
TGP1994

415

关闭并重新打开VS2015可解决此问题。

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


3
在我关闭VS,取消解决方案的“ packages”文件夹并重新启动后,这对我也有效。
Wislon

6
尽管我必须关闭VS的所有实例,但仅关闭受影响的实例还不够。
罗里·麦克罗森

4
似乎很简单...却获得+111票!也为我工作!
安东尼·尼科尔斯

22
为什么,微软?!?!为什么这必须是最佳答案(以及对我有用的答案)?
马特·鲁

2
我不满意这个答案,但是它
可行

32

在我的情况下,我找到了解决方案,请尝试更新NuGet软件包管理器。

去做这个:

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

这使我可以再次毫无问题地安装软件包。

希望这可以帮助!


1
我遵循了此步骤,但是Nuget没有任何更新。有一个“ Web工具”,它为我解决了“ nuget配置无效”错误。
RyanJMcGowan 2015年

1
可能不是升级“ Web工具”的事实,而是安装扩展更新需要您重新启动Visual Studio的事实。重新启动对我有用。
编码员乔

也为我工作
亚伦

就我而言,没有可用的更新,但是我从dotnet.myget.org/F/nuget-vsix/vsix下载了最新版本,并且可以正常工作。
DavidC

20

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

删除binobjpackages文件夹,然后重新启动Visual Studio 2015 为我解决了该问题。


1
其他解决方案无效,但此解决方案可行。删除“包裹”是我的关键
Gordon Slysz

1
我不知道为什么删除软件包可以起作用,但是可以!我没有任何更新,只是从Visual Studio 2010迁移到2015,从.NET 4.0迁移到4.5。
保护者

在哪里可以找到“ packages”文件夹?我只有bin和obj。
丹尼

8

您需要清除所有NuGet缓存;为此,您需要转到选项,然后单击它,如下所示:

在此处输入图片说明


耶稣,天哪,您救了我的命,我快疯了……我总是收到错误消息“安装失败。回滚...”。尝试删除NuGet配置文件已告知接受的答案,并尝试重新启动VS和计算机...清除了我的nuget提要,再次进行了配置。真是太谢谢你了!
TiagoM '18年

7

在总体关闭和重新打开VS 2015中,修复了我遇到的大多数问题。确实,我确实需要在一台计算机上进行维修。

但是我打算这样做, Closing and re-opening VS2015 resolved the issue for me 我想我会右键单击项目并卸载项目, 然后右键单击并重新加载项目, 然后Manage Nuget起作用了!


4

只是为了帮助在将VS2015更新为Update 2并尝试在网站上管理软件包后收到“ NuGet配置文件无效”错误的用户,这是一个已知的且已确认的问题:

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 Update 3也将包含一个修复程序


非常感谢!:)
Ramanpreet Singh

3

我的猜测是Nuget Package Manager搞砸了VSO。我创建一个新项目,向其中添加软件包,然后在TFS中签入。然后我回家,“获取最新版本”,然后运行,但由于Nuget软件包管理器无法还原我的软件包而失败。解决方案:在我的家用机器上

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

我尝试从一个新项目中添加/更新软件包,但遇到了同样的失败结果。我已降级为VS2013,直到VS2015中更新了包管理器
clockwiseq


3

我在Visual Studio 2017中遇到了这个问题:事实证明,有两个类库项目 -一个用于.Net,另一个用于C#。我为.Net创建了一个,当我尝试安装特定的软件包(在我的情况下为Nunit)时,收到错误消息。

将项目重新创建为C#类库可解决此问题


1

就我而言,此问题是由每个项目下我的目标框架设置不匹配引起的。当我创建一个新项目时,VS 2015默认为4.5.2,但是我所有的nuget软件包都是为4.6构建的。

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

解决了这个问题

  • 将我项目的目标框架更改为4.6
  • VS 2015封闭
  • 删除“包”,“ obj”和“ bin”文件夹
  • 重新打开解决方案,然后尝试再次添加nuget包。

1

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

如上所述,一种可靠的解决方法是执行以下操作:1)退出Visual Studio,2)删除程序包文件夹,3)重新启动VS。

但是 ...如果您由于某种原因不想立即退出VS,我仍然可以通过选择“ 管理解决方案NuGet程序包 ”选项来添加/删除所有项目中的程序包,而不是选择出现问题的单个项目。


每个人都在谈论packages文件夹在哪里?
ShrimpCrackers

@ShrimpCrackers-与解决方案(.sln)文件位于同一位置
控制箱


1

只需重新启动Visual Studio即可为我工作。尝试重新启动Visual Studio。


0

我遇到了这个问题,这似乎是由解决方案级别packages文件夹中的某些内容造成的。我删除了文件夹的内容,然后nuget再次安装所有软件包。

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


0

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


0

将nuget中的“包源”更改为 All

详细信息:以上对我的情况均无帮助。我的问题是我只能使用一个私人供稿。一旦将“包源”更改为All,我的问题就解决了。我相信问题的症结在于我的私人pkg依赖nuget.org上的其他pkg。

我希望这可以帮助某人


0

就我而言,上述方法无济于事。就我而言,问题的根本原因是,我之前卸载了该软件包,并且没有将更改签入到源代码管理中(在我的情况下为TFS)。签入更改(= packages文件夹中文件的删除)后,我可以重新安装该软件包。


0

就我而言,soultion目录中有一个空的packages.config文件,删除此文件后,更新成功

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.