在 .NET CORE 3.1 应用程序中访问使用脚手架生成的视图时出错

Posted

技术标签:

【中文标题】在 .NET CORE 3.1 应用程序中访问使用脚手架生成的视图时出错【英文标题】:Error accessing a view generated with scaffolding in a .NET CORE 3.1 application 【发布时间】:2020-12-19 12:31:37 【问题描述】:

我用 .NET CORE 3.1 和 SQL Server 数据库创建了一个项目。

我已经为我的类模型“Route”实现了一个带有脚手架的 CRUD,但是当我转到 https://localhost:44381/Routes 时出现一个错误:

处理请求时发生未处理的异常。 InvalidOperationException:无法解析类型的服务 'Agalber.Hostel.Backoffice.Models.Agalber_Des2Context' 而 试图激活 'Agalber.Hostel.Backoffice.Controllers.RoutesController'。 Microsoft.Extensions.DependencyInjection.ActivatorUtilities.GetService(IServiceProvider sp, Type type, Type requiredBy, bool isDefaultParameterRequired)。

【问题讨论】:

该错误表示您尚未在 DI 容器中注册Agalber_Des2Context。在ConfigureServices 中添加AddDbContext< Agalber_Des2Context>(...) 调用。 谢谢,我已添加:services.AddScoped(typeof(Agalber_Des2Context));并且工作正常。 【参考方案1】:

为了解决此问题,需要在 Startup.cs 文件的 ConfigureServices 方法中添加以下行:

services.AddScoped(typeof("Name of class DbContext"));

谢谢@Panagiotis Kanavos

【讨论】:

以上是关于在 .NET CORE 3.1 应用程序中访问使用脚手架生成的视图时出错的主要内容,如果未能解决你的问题,请参考以下文章

为什么ubuntu中的NET Core 3.1 BackgroundWorker无法访问环境变量?

Serilog Net Core 3.1 不创建任何日志文件

如何从 Asp.NET Core 3.1 启动类访问 launchSettings.json 中的 `applicationUrl` 属性?

Azure B2C 和 .net core 3.1 身份验证问题

在 .Net Core 3.1 的 Web Api 中无法使用 Cors [重复]

.NET Core 3.1 IdentityServer4:使用资源所有者密码凭据授予时获取无效访问令牌