我正在尝试在 Visual Studio 2022 中的 UI
SuplementShop.WEB.Mvc
解决方案上构建身份。
我是 ASP.NET 新手,所以我希望有人可以帮助我:)
在 GitHub 上打开存储库: (脚手架之前的版本)
https://github.com/7LinesOfCode/SuplementShopWEB.MVC
预先感谢您的每一个回复:)
我想制作登录和注册脚手架,带有数据上下文 “上下文(
Suplement.WEB.Mvc.Infrastructure
)”。在那一步之后,我的应用程序无法再编译。
观察:在制作脚手架(如上所述)后,控制台中的输出如下所示:
在脚手架之后,如果我尝试调试我的应用程序,我会遇到异常
var app = builder.Build()
错误列表:
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
中找到一个新的连接字符串。
在脚手架动作之前,应用程序没有错误并且工作正常。
我从github克隆了你的项目后,我发现了错误并修复了它们,你可以按照以下步骤操作。
首先更改您的
dbcontext
类名称,给它一个唯一的名称,例如MyApplicationDbcontext
,而不是仅仅称为Context
,然后根据此dbcontext
在Scuffolding标识中添加相关页面
然后单击添加按钮添加这些身份页面。
现在您需要添加迁移和更新数据库,首先将您的 MVC 项目设置为启动项目,然后在 Package Manager Console 中将基础设施项目设置为默认项目。
终于可以使用了
add-migration MyMigration -Context MyApplicationDbcontext
update-database -Context MyApplicationDbcontext
迁移并创建数据库。