Microsoft.EntityFrameworkCore未安装并挂在Web API .NET Core应用中-Visual Studio 2019

时间:2019-08-06 09:04:58

标签: c# visual-studio nuget

Microsoft.EntityFrameworkCore在尝试将2.2.6安装到主项目和新的C#.NET核心项目中时未安装并挂起:

Restoring packages for C:\Repos\SnowdonAPI_02\SnowdonAPI_02\SnowdonAPI_02\SnowdonAPI_02.csproj...
  GET https://api.nuget.org/v3-flatcontainer/microsoft.entityframeworkcore.abstractions/index.json
  GET https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options/index.json
  GET https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.binder/index.json
  GET https://api.nuget.org/v3-flatcontainer/system.interactive.async/index.json
  OK https://api.nuget.org/v3-flatcontainer/microsoft.entityframeworkcore.abstractions/index.json 253ms
  OK https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options/index.json 146ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.entityframeworkcore.abstractions/2.2.6/microsoft.entityframeworkcore.abstractions.2.2.6.nupkg
  GET https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options/2.2.0/microsoft.extensions.options.2.2.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.binder/index.json 321ms
  OK https://api.nuget.org/v3-flatcontainer/system.interactive.async/index.json 343ms
  OK https://api.nuget.org/v3-flatcontainer/microsoft.entityframeworkcore.abstractions/2.2.6/microsoft.entityframeworkcore.abstractions.2.2.6.nupkg 203ms
  OK https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options/2.2.0/microsoft.extensions.options.2.2.0.nupkg 189ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.binder/2.2.0/microsoft.extensions.configuration.binder.2.2.0.nupkg
  GET https://api.nuget.org/v3-flatcontainer/system.interactive.async/3.2.0/system.interactive.async.3.2.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.binder/2.2.0/microsoft.extensions.configuration.binder.2.2.0.nupkg 19ms
  OK https://api.nuget.org/v3-flatcontainer/system.interactive.async/3.2.0/system.interactive.async.3.2.0.nupkg 30ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration/index.json
  OK https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration/index.json 110ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration/2.2.0/microsoft.extensions.configuration.2.2.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration/2.2.0/microsoft.extensions.configuration.2.2.0.nupkg 13ms
Installing Microsoft.Extensions.Configuration 2.2.0.
Installing Microsoft.Extensions.Configuration.Binder 2.2.0.
Installing Microsoft.Extensions.Options 2.2.0.
Installing System.Interactive.Async 3.2.0.
Installing Microsoft.EntityFrameworkCore.Abstractions 2.2.6.

它到达了这里,不再走了。然后,我不得不强制退出Visual Studio。

2 个答案:

答案 0 :(得分:1)

根据您的日志,在此过程中可能会中断安装。

通常,此问题的可能原因可能是:VS Itself中出现了某些问题,或者是扩展的影响,在安装软件包或nuget配置时出现了错误的操作。

由于缺少详细信息,我无法获得确定能够解决您问题的解决方法,但是您可以尝试以下提示:

1.Extensions =>管理扩展程序=>禁用它们,然后重新启动VS以使其生效

2。将VS2019更新到最新版本,如果是最新版本,请运行vs repair

3。确保您的项目以.net core 2.2为目标,并分别安装Microsoft.EntityFrameworkCore。似乎nuget尝试一次安装五个软件包,但是据我所知Microsoft.EntityFrameworkCore并不依赖于其他软件包,因此我不确定when I am trying to install 2.2.6 into my main project的含义是什么,更多需要提供详细信息,以便我们能够理解为什么安装软件包Microsoft.EntityFrameworkCore会导致安装其他四个软件包。

为此,请创建一个新的asp.net核心web-api项目,并通过UI安装2.2.6版本的Microsoft.EntityFrameworkCore程序包,检查问题是否仍然存在。如果仍然存在,请clear the nuget cache并删除bin和obj文件夹,然后通过UI还原新项目的软件包。

清除缓存后,转到C:\Users\xxx\.nuget\packages(此文件夹用于存储那些具有packageReference格式的项目的软件包),现在此文件夹为空。在VS中还原软件包时,请检查nuget是否确实在安装。 (如果它真的开始安装软件包,则此文件夹之后将不会为空)

4。对于试图像Microsoft.Extensions.Configuration.Binder 2.2.0那样安装的软件包:我认为这是奇怪的行为。检查此软件包的属性窗口,我发现它的路径为C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.configuration.binder\2.2.0,所以我认为它是.net sdk的一部分。当我们引用此软件包时,它将从该路径获取该软件包,而不是在线安装。不确定这是否是造成问题的原因,您可以尝试修复.net core 2.2 sdk并检查该文件夹中是否存在该软件包。

5。确保安装不会因Internet问题而中断。

答案 1 :(得分:0)

我有一个类似的问题,这是由于在一个解决方案中有多个项目,而这些项目并非都针对同一版本的NET。在处理NET Core / NET Standard项目时,我可以通过卸载NET框架项目使它再次工作,反之亦然。