无法在 Visual Studio 2015 中安装任何包
Posted
技术标签:
【中文标题】无法在 Visual Studio 2015 中安装任何包【英文标题】:Unable to Install Any Package in Visual Studio 2015 【发布时间】:2015-11-27 10:26:31 【问题描述】:我已经尝试了所有可能找到的软件包,但没有一个会安装在我的项目中。我已经安装了可用的扩展和更新列表中列出的每个更新。例如,当我尝试安装 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 包时,它表现得好像我添加的包都不可用。还有其他人遇到这种情况吗?
【问题讨论】:
使用VS2013添加包VS2015问题很大,然后在VS2015中打开继续使用 【参考方案1】:关闭并重新打开 VS2015 即可解决此问题。
似乎在某些情况下,只需重新加载受影响的项目即可。
【讨论】:
这对我也有用,在我关闭 VS 后,核对解决方案的“包”文件夹,然后重新启动。 这对我有用,尽管我必须关闭所有 VS 实例 - 仅关闭受影响的实例是不够的。 看起来很简单......然而+111票!也为我工作! 为什么,微软?!?!为什么这一定是最好的答案(也是对我有用的答案)? 我对答案不满意,但它有效,我们需要“为什么”【参考方案2】: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>
【讨论】:
谢谢,这是一个很好的解决方案 这也适用于我,感谢 Statue 节省了我的时间。 惊人的巧合。一年前的这篇文章在我需要答案的时候就在我眼前进行了编辑。谢谢! 抱歉打了这个,但我的必须是特别的,所谓的“NuGet.Config”,对我来说在 NTFS 上非常具体! (实际上,我什至根本不需要删除配置。需要重新启动 Visual Studio。)【参考方案3】:我找到了解决方案,尝试更新 NuGet 包管理器。
为此:
-
从 VS 转到 工具 -> 扩展和更新
打开左侧的更新菜单选项,然后选择Visual Studio Gallery。
如果 Nuget 包安装程序有更新,它应该显示在右侧的列表中。点击更新
重启 Visual Studio
这让我再次安装包没有问题。
希望这会有所帮助!
【讨论】:
我关注了这个,但是 Nuget 没有待处理的更新。 “Web 工具”有一个,这解决了我的“nuget 配置无效”错误。 这可能不是因为您升级了“Web 工具”,而是因为安装扩展更新需要您重新启动 Visual Studio。重新启动对我有用。 也为我工作 在我的情况下,没有可用的更新,但我从 dotnet.myget.org/F/nuget-vsix/vsix 下载了最新版本并且它工作正常。 没有可用的更新,所以我卸载并重新安装了“NuGet Package Manager for Visual Studio 2015”。我确认我可以再次安装 NuGet 包! :)【参考方案4】:在我的情况下,更新 Microsoft.CodeDom.Providers.DotNetCompilerPlatform
和 Microsoft.Net.Compilers
导致问题。
删除 bin
、obj
和 packages
文件夹并重新启动 Visual Studio 2015 解决了我的问题。
【讨论】:
其他解决方案无效,但这个解决方案有效。删除“包”对我来说是关键 我不知道为什么删除包可以工作,但确实可以!我没有更新任何东西,我只是从 Visual Studio 2010 迁移到 2015,以及 .NET 4.0 到 4.5。 在哪里可以找到“包”文件夹?我只有 bin 和 obj。【参考方案5】:总的来说,关闭并重新打开 VS 2015 解决了我遇到的大多数问题。一旦我确实需要在我的一台计算机上运行修复。
但是我正要这样做Closing and re-opening VS2015 resolved the issue for me
我想我会改为右键单击项目并卸载项目然后右键单击并重新加载项目然后管理 Nuget 成功了!
【讨论】:
【参考方案6】:您需要清除所有 NuGet 缓存;为此,您需要转到选项并像这样单击它:
【讨论】:
天哪,天哪,你救了我的命,我快疯了……我总是收到错误消息“安装失败。正在回滚……”。尝试删除 NuGet 配置文件并告知已接受的答案,并尝试重新启动 VS 和计算机...清除了我的 nuget 提要,再次配置.. 什么都没有,但是这解决了它!非常感谢你!【参考方案7】:只是为了帮助在将 VS2015 更新为更新 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 的更新 3 也将包含修复
【讨论】:
非常感谢! :)【参考方案8】:我的猜测是 Nuget 包管理器搞砸了 VSO。 我创建了一个新项目,将包添加到它就好了,签入 TFS。 然后我回家,“获取最新版本”,然后运行,但失败了,因为 Nuget 包管理器没有恢复我的包。 解决方案:在我家的机器上
-
打开 Nuget 包管理器,卸载所有已安装的包
打开 References 文件夹,右键单击 > 删除已安装的所有软件包
通过 Nuget 包管理器重新安装它们
入住
【讨论】:
我尝试从一个新项目中添加/更新包并遇到同样的失败结果。我已经降级到 VS2013,直到包管理器在 VS2015 中更新【参考方案9】:我能够通过工具 -> 扩展和更新重新安装 Nuget 包管理器来解决此问题
【讨论】:
【参考方案10】:我在使用 Visual Studio 2017 时遇到了这个问题:原来有 两个类库项目 - 一个用于 .Net,另一个用于 C#。我为 .Net 创建了一个,当我尝试安装一个特定的包(在我的例子中是 Nunit)时,我收到了错误消息。
将项目重新创建为 C# 类库解决了问题
【讨论】:
【参考方案11】:在我的例子中,这个问题是由我在每个项目下的 Target framework 设置中的不匹配造成的。当我创建一个新项目时,VS 2015 默认为 4.5.2,但是我所有的 nuget 包都是为 4.6 构建的。
出于某种原因,VS 2015 没有向我显示这些错误。直到我创建了一个新的空项目并尝试在那里添加我的 nuget 项目时,我才看到它们。由于我在初始设置期间多次重命名了项目,因此可能会加剧这种行为。
我通过
解决了问题 将我的项目的 Target Framework 更改为 4.6 VS 2015 结束 已删除“packages”、“obj”和“bin”文件夹 重新打开解决方案并尝试再次添加 nuget 包。【讨论】:
【参考方案12】:我正在使用 Visual Studio 2015 Update 3,并且我设法重现了此错误(尽管据称 Update 3 包含修复程序)。
如上所述,可靠的解决方法是执行以下操作... 1) 退出 Visual Studio,2) 删除 packages 文件夹,3) 重新启动 VS。
但是...如果您出于某种原因不想立即退出 VS,我仍然可以通过选择“管理 NuGet 包”从所有项目中添加/删除包解决方案'选项,而不是有问题的单个项目。
【讨论】:
大家说的packages文件夹在哪里? @ShrimpCrackers - 与解决方案 (.sln) 文件位于同一位置【参考方案13】:修复 Visual Studio 2015 似乎已经为我解决了这个问题。有关 GitHub 中的 NuGet,请参阅 this issue。
【讨论】:
【参考方案14】:只需重新启动 Visual Studio 即可为我工作。尝试重新启动 Visual Studio。
【讨论】:
【参考方案15】:我遇到了这个问题,这似乎是由解决方案级别 packages
文件夹中的某些问题引起的。我删除了文件夹的内容,让nuget
重新安装所有的包。
然后我可以再次安装新软件包。
【讨论】:
【参考方案16】:打开包文件夹。检查扩展名为 .deleteme 的文件是否存在,例如 Newtonsoft.Json.9.0.1.deleteme。手动删除所有具有 .deleteme 文件的包。删除 .deleteme 文件。关闭并打开 Nuget Explorer。
【讨论】:
【参考方案17】:将nuget中的“包源”改为All
详情:
在我的情况下,以上都没有帮助。
我的问题是我仅限于一个私人提要。一旦我将“包源”更改为All
,我的问题就解决了。我认为问题的症结在于我的私人 pkg 依赖于来自 nuget.org 的其他 pkg。
我希望这可以帮助某人
【讨论】:
【参考方案18】:就我而言,以上都没有帮助。 在我的情况下,问题的根本原因是,我之前卸载了软件包并且没有将更改签入源代码控制(在我的情况下为 TFS)。签入更改后(=删除包文件夹中的文件),我可以重新安装包。
【讨论】:
【参考方案19】:在我的情况下,soultion目录中有一个空的packages.config文件,删除后,更新成功
【讨论】:
以上是关于无法在 Visual Studio 2015 中安装任何包的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio Code 中安装和使用 Entity Framework Core?
Visual Studio 2015 属性页无法打开 Visual Studio 2010 属性