无法在Visual Studio 2015中安装任何程序包
我试过了我可能find的每一个软件包,他们都不会安装在我的项目中。 我已安装扩展和更新列表中列出的每个可用更新。 当我尝试安装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包pipe理器问题。
更新:
那么,在我的解决scheme中必须是奇怪的,因为我从VS2015模板(networking)创build了一个新的项目,包安装就好了。 当我发现这个问题时,如果其他人遇到同样的问题,我将会发布这个解决scheme。
更新2:
好的,这不是我们的解决scheme。 我们再次从头开始创build一个新的解决scheme(这浪费了我们可能添加的很多开发时间),添加了几个包(Identity,EF,SendGrid),并在VSO中检查解决scheme后,另一个开发人员执行新的创build的分支和build立错误发生。 当我去一个单独的项目的NuGet包,它的行为就好像我已经添加的包都没有可用。 任何人遇到这个?
tl; dr – 删除这个:
%AppData%/Nuget/Nuget.config
更长的版本:
你可能已经损坏了你的NuGetconfiguration。 不好了 :(
Nuget.config是一个文件,用于跟踪所有NuGet从哪里取得的地方,以及configuration其他的东西。 更可能的是,这个XML文件被打破了。
- 转到此path:
C:\Users\{{username}}\AppData\Roaming\
- 删除
Nuget.config
- 重新启动VS以获得更好的效果
警告:如果你有自定义的NuGet源代码,这将删除它们,你将不得不重新添加它们。
作为参考:在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>
closures并重新开放VS2015解决了这个问题。
看来在某些情况下,只需重新加载受影响的项目就行。
我find了一个解决scheme,尝试更新NuGet包pipe理器。
去做这个:
- 从VS,转到工具 – >扩展和更新
- 打开左侧的“ 更新”菜单选项,然后selectVisual Studio图库 。
- 如果Nuget Package Installer有更新,它应该显示在右边的列表中。 点击更新
- 重新启动Visual Studio
这让我安装软件包没有问题了。
希望这可以帮助!
在我的情况下更新Microsoft.CodeDom.Providers.DotNetCompilerPlatform
和Microsoft.Net.Compilers
引起的问题。
删除bin
, obj
和packages
文件夹并重新启动Visual Studio 2015 解决了我的问题。
一般来说,closures和重新开放VS 2015固定了我遇到的大多数问题 。 一旦我需要在我的一台电脑上运行修复程序。
然而,我正要做到这一点Closing and re-opening VS2015 resolved the issue for me
我认为,而不是右键点击该项目和卸载项目,然后右键单击和重新加载项目然后pipe理Nuget的工作!
只是为了帮助那些在更新VS2015更新2并试图在网站上pipe理软件包之后登陆此页面的人,接收到“NuGetconfiguration文件无效”的错误,这是一个已知的公认问题:
我通过安装来自http://dist.nuget.org/index.html的软件包pipe理器3.4.4(testing版)来重新开始工作;
他们也为Visual Studio更新3也将包含一个修复程序
我的猜测是Nuget Package Manager正在搞乱VSO。 我创build一个新的项目,添加软件包就好,检查TFS。 然后我回家,“获取最新版本”,然后运行,并失败,因为Nuget包pipe理器不会恢复我的包。 解决scheme:在我的家用机器上
- 打开Nuget包pipe理器,卸载已经安装的每一个包
- 打开引用文件夹,右键单击>删除所有已安装的软件包
- 通过Nuget Package Manager重新安装
- 报到
我能通过工具 – >扩展和更新重新安装Nuget Package Manager来解决这个问题
我在Visual Studio 2017中遇到了这个问题:事实certificate,有两个类库项目 – 一个用于.Net,另一个用于C#。 我创build了一个.Net,当我试图安装一个特定的包(Nunit在我的情况),我得到了错误信息。
重新创build项目作为C#类库修复了这个问题
就我而言,这个问题是由于我的目标框架设置在每个项目下不匹配造成的。 当我创build一个新项目时,VS 2015的默认值是4.5.2,但是我所有的nuget包都是4.6。
出于某种原因,VS 2015没有向我展示这些错误。 我没有看到他们,直到我创build一个新的空项目,并试图在那里添加我的nuget项目。 这种行为可能会加剧,因为我在初始设置过程中已经重新命名了几次。
我通过解决了这个问题
- 我的项目目标框架更改为4.6
- closuresVS 2015
- 删除“包”,“obj”和“bin”文件夹
- 重新打开解决scheme并尝试再次添加nuget包。
我正在使用Visual Studio 2015更新3,并设法重现此错误(尽pipe更新3涉嫌包含修复程序)。
如上所示,一个可靠的解决办法是做到以下几点:1)退出Visual Studio,2)删除包文件夹,3)重新启动VS.
但是 ,如果你不想立即退出VS出于某种原因,我仍然可以通过select“ pipe理NuGet软件包的解决scheme ”选项,而不是单个项目的问题,从所有项目添加/删除软件包。
有时候复杂的项目很难协调变化的属性。 例如,在一种情况下,当一个nuget软件包被另一个解决scheme引用时,我们得到了这个错误,我们必须将这个解决scheme合并到“main”解决scheme中,这导致IDE有一个合适的,因为有多个nuget软件包pipe理器可用。 您可以通过在存在问题/错误的项目中从头开始逐个删除和还原引用和依赖项来解决这些types的问题。
我有这个问题,这似乎是由解决scheme级packages
文件夹中的东西所造成的。 我删除了该文件夹的内容,并让nuget
再次安装所有的软件包。
我可以再次安装新的软件包。
打开包文件夹。 检查扩展名为.deleteme的文件是否存在,例如Newtonsoft.Json.9.0.1.deleteme。 手动删除所有包含.deleteme文件的包。 删除.deleteme文件。 closures并打开Nuget资源pipe理器。
将nuget中的“包源代码”更改为“ All
细节:以上都没有帮助我的情况。 我的问题是,我只限于一个私人饲料。 一旦我将“包源码”更改为“ All
,我的问题就解决了。 我认为问题的症结在于我的私人包裹对来自nuget.org的其他pkgs具有依赖性。
我希望这可以帮助别人
您的某些软件包可能不被您的types的项目支持。 例如,您不能在UAP项目中使用RestSharp或Moq。
为了获得更好的错误信息,请尝试将包直接添加到project.json
文件中,然后尝试构build解决scheme。
在我的情况下,以上都没有帮助。 在我的情况下,问题的根本原因是,我之前卸载了软件包,并没有检查到源代码pipe理(在我的情况下,TFS)的变化。 检入更改后(=删除软件包文件夹中的文件),我可以重新安装软件包。
您需要清除所有NuGetcaching; 为此,你需要去选项,并点击它像这样: