在做自己的练手项目 Tp.MVC时候,已经使用Unity框架实现IOC,我后面想用Unity容器实现AOP,一切配置完成运行项目的时候报错:
Unity.ResolutionFailedException
  HResult=0x80131500
  Message=Resolution failed with error: No public constructor is available for type Tp.MVC.IService.IStudentService.

For more detailed information run Unity in debug mode: new UnityContainer(ModeFlags.Diagnostic)
  Source=Unity.Container
  StackTrace:
   在 Unity.UnityContainer.<>c.<.ctor>b__73_1(BuilderContext& context)
   在 Unity.UnityContainer.Unity.IUnityContainer.Resolve(Type type, String name, ResolverOverride[] overrides)
   在 Unity.UnityContainerExtensions.Resolve(IUnityContainer container, Type t, ResolverOverride[] overrides)

内部异常 1:
InvalidOperationException: No public constructor is available for type Tp.MVC.IService.IStudentService.

内部异常 2:
InvalidRegistrationException: Exception_WasThrown

错误提示服务层没有成功注入到控制器

反复检查配置文件并未发现错误,后来折腾很久才找到原因,所以记录一下加深记忆!

错误原因是:Tp.MVC.WebUI项目没有添加对Tp.MVC.AOP项目的引用!

下面附上项目结构和配置文件截图:

ASP.NET MVC 实现 IOC基础上添加AOP实现时候遇到的坑

ASP.NET MVC 实现 IOC基础上添加AOP实现时候遇到的坑

 

相关文章:

  • 2022-12-23
  • 2021-12-26
  • 2021-05-18
  • 2022-12-23
  • 2021-12-04
  • 2022-12-23
  • 2021-12-23
  • 2021-07-19
猜你喜欢
  • 2021-11-23
  • 2021-05-25
  • 2021-10-02
  • 2022-01-03
  • 2021-07-16
  • 2022-01-18
相关资源
相似解决方案