访问 Microsoft.Extensions.HostingServices 时出错。无法解析 JSON 文件

Tes*_*spy 13 c# asp.net-mvc json visual-studio-2010 entity-framework-core

我试图使用 Visual Studio 2019 为 MVC ASP.NET Core 3.10 项目创建迁移。我遇到两个错误:

  1. 访问 Microsoft.Extensions.Hosting 服务时出错。在没有应用程序服务提供商的情况下继续。错误:无法解析 JSON 文件。
  2. 尚未为此 DbContext 配置数据库提供程序。可以通过覆盖 DbContext.OnConfiguring 方法或在应用程序服务提供者上使用 AddDbContext 来配置提供者。如果使用 AddDbContext,则还要确保您的 DbContext 类型在其构造函数中接受 DbContextOptions 对象并将其传递给 DbContext 的基本构造函数。

我认为第一个是问题,因为我已经按照第二个要求设置了 DbContext。

到目前为止我尝试过的:

  1. 回滚到 .NET Core 3.0
  2. 使用“InitialCreate”以外的名称进行迁移。
  3. 通过 NuGet 包管理器安装 EntityFrameworkCore.Design、EntityFrameworkCore.SQlite、EntityFrameworkCore.SQlServer、EntityFrameworkCore.Logging.Debug、EntityFrameworkCore.Tools
  4. 重新启动计算机并重试
  5. 四重检查 Startup.cs 是否添加了我的 DbContext,并且我的 DbContext 的构造函数设置为在其构造函数中采用 DbContextOptions,将输入传递给基本构造函数

我应该如何处理第一个错误?

Tes*_*spy 26

事实证明,我的 appsettings.json 缺少一个右花括号。添加它解决了问题。

  • 连接字符串和日志记录之间缺少逗号分隔。 (2认同)
  • 未转义的反斜杠(例如在连接字符串服务器名称中)也可能导致此问题。 (2认同)

Chr*_*ani 11

幸运的是,我遇到了这个线程,并且因为没有从字面上理解错误消息而自责。
有很多提示... 在此处输入图片说明


错误不只是 **POP** 出现的一个原因是因为它只是一个 **警告**。

您可以在 Visual Studio
Goto Tools->Options 中更改此行为。
单击文本编辑器->JSON->高级。
在验证下更改Show errors as warningsFalse

在此处输入图片说明
您仍然会在控制台上收到相同的消息。但此更改使错误更加严重,表明存在问题。 在此处输入图片说明


joe*_*lfp 5

对我来说,问题是我的用户机密secrets.json文件中有一个拼写错误。我在属性值后面缺少一个逗号。

作为参考,您可以通过右键单击 .NET Core 项目并选择Manage User Secrets来在 VS2019 中编辑用户机密。