ASP.NET Core 7 MVC 应用程序中的脚手架身份问题

问题描述 投票:0回答:1

我正在尝试在 Visual Studio 2022 中的 UI

SuplementShop.WEB.Mvc
解决方案上构建身份。

我是 ASP.NET 新手,所以我希望有人可以帮助我:)

在 GitHub 上打开存储库: (脚手架之前的版本)

https://github.com/7LinesOfCode/SuplementShopWEB.MVC

预先感谢您的每一个回复:)

我想制作登录和注册脚手架,带有数据上下文 “上下文(

Suplement.WEB.Mvc.Infrastructure
)”。在那一步之后,我的应用程序无法再编译。

观察:在制作脚手架(如上所述)后,控制台中的输出如下所示:

enter image description here

在脚手架之后,如果我尝试调试我的应用程序,我会遇到异常

var app = builder.Build()

enter image description here

错误列表:

 System.AggregateException: 'Some services are not able to be constructed (Error while validating the service descriptor 'ServiceType:   

SuplementShopWEB.MVC.Application.Interfaces.IOrderService 生命周期:瞬态实现类型:
SuplementShopWEB.MVC.Application.Services.OrderService':尝试激活“SuplementShopWEB.MVC.Infrastruct.Repositories.OrderRepository”时无法解析类型“SuplementShopWEB.MVC.Infrastruct.Context”的服务。)(验证服务描述符时出错“ServiceType:SuplementShopWEB.MVC.Application.Interfaces.ICustomerService 生命周期:瞬态实现类型:SuplementShopWEB.MVC.Application.Services.CustomerService”:尝试激活“SuplementShopWEB”时无法解析类型“SuplementShopWEB.MVC.Infrastruct.Context”的服务。 MVC.Infrastruct.Repositories.CustomerRepository'。)(验证服务描述符'ServiceType:SuplementShopWEB.MVC.Application.Interfaces.IItemService 生命周期时出错:瞬态实现类型:SuplementShopWEB.MVC.Application.Services.ItemService':无法解析服务尝试激活“SuplementShopWEB.MVC.Infrastruct.Repositories.ItemRepository”时键入“SuplementShopWEB.MVC.Infrastruct.Context”。)(验证服务描述符“ServiceType”时出错:SuplementShopWEB.MVC.Domain.Interface.IOrderRepository 生命周期:瞬态实现类型:SuplementShopWEB.MVC.Infrastruct.Repositories.OrderRepository':尝试激活“SuplementShopWEB.MVC.Infrastruct.Repositories.OrderRepository”时无法解析类型“SuplementShopWEB.MVC.Infrastruct.Context”的服务。)(验证服务时出错描述符“ServiceType:SuplementShopWEB.MVC.Domain.Interface.ICustomerRepository 生命周期:瞬态实现类型:SuplementShopWEB.MVC.Infrastruct.Repositories.CustomerRepository”:尝试激活“SuplementShopWEB”时无法解析类型“SuplementShopWEB.MVC.Infrastruct.Context”的服务.MVC.Infrastruct.Repositories.CustomerRepository'。)(验证服务描述符'ServiceType:SuplementShopWEB.MVC.Domain.Interface.IItemRepository时出错:瞬态实现类型:SuplementShopWEB.MVC.Infrastruct.Repositories.ItemRepository':无法解析服务对于类型“SuplementShopWEB.MVC.Infrastruct.Context”,同时尝试激活“SuplementShopWEB.MVC.Infrastruct.Repositories.ItemRepository”。)'

之后我可以在

appsettings.json
中找到一个新的连接字符串。

在脚手架动作之前,应用程序没有错误并且工作正常。

c# .net asp.net-core-mvc scaffolding asp.net-mvc-scaffolding
1个回答
0
投票

我从github克隆了你的项目后,我发现了错误并修复了它们,你可以按照以下步骤操作。

首先更改您的

dbcontext
类名称,给它一个唯一的名称,例如
MyApplicationDbcontext
,而不是仅仅称为
Context
,然后根据此
dbcontext

在Scuffolding标识中添加相关页面

然后单击添加按钮添加这些身份页面。

现在您需要添加迁移和更新数据库,首先将您的 MVC 项目设置为启动项目,然后在 Package Manager Console 中将基础设施项目设置为默认项目。

终于可以使用了

add-migration MyMigration -Context MyApplicationDbcontext

update-database -Context MyApplicationDbcontext

迁移并创建数据库。

© www.soinside.com 2019 - 2024. All rights reserved.