首页 新闻 搜索 专区 学院

在netcore 中 autofac 6.0 版本使用 aop

0
悬赏园豆:20 [已解决问题] 解决于 2020-02-15 12:41

如果是5.0,是没有问题的,
但是如果升级到 autofac 6.0,
<ItemGroup>

<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="6.0.0" />
<PackageReference Include="Autofac.Extras.DynamicProxy" Version="4.5.0" />

</ItemGroup>

则会报错:

An unhandled exception occurred while processing the request.
ProxyGenerationException: This is a DynamicProxy2 error: Target type for the proxy implements Castle.DynamicProxy.IProxyTargetAccessor which is a DynamicProxy infrastructure interface and you should never implement it yourself. Are you trying to proxy an existing proxy?

希望有用到 autofac 6.0+的,并且配置aop的小伙伴,不吝赐教

老张的哲学的主页 老张的哲学 | 初学一级 | 园豆:2
提问于:2020-02-11 23:22

升级到 DynamicProxy 5.0 即可

老张的哲学 9个月前
< >
分享
最佳答案
0
收获园豆:20
dudu | 高人七级 |园豆:38803 | 2020-02-12 10:35

谢谢dudu老师,
这个并没有解决问题,他只是说降级,
我知道5.0版本是可以的,但是6.0不行

老张的哲学 | 园豆:2 (初学一级) | 2020-02-12 10:42

@老张的哲学: 在 nuget 官网上比较一下 Autofac.Extensions.DependencyInjectionAutofac.Extras.DynamicProxy 的依赖信息。

Autofac.Extensions.DependencyInjection 6.0

.NETStandard 2.0
Autofac (>= 5.0.0)
Microsoft.Bcl.AsyncInterfaces (>= 1.1.0)
Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.1.0)
.NETStandard 2.1
Autofac (>= 5.0.0)
Microsoft.Extensions.DependencyInjection.Abstractions (>= 2.1.0) 

Autofac.Extras.DynamicProxy 4.5.0

.NETFramework 4.5
Autofac (>= 4.0.1)
Castle.Core (>= 4.3.1)
.NETStandard 1.3
Autofac (>= 4.0.1)
Castle.Core (>= 4.3.1)
NETStandard.Library (>= 1.6.1)

目测可能是 Autofac.Extras.DynamicProxy 拖后腿了。

dudu | 园豆:38803 (高人七级) | 2020-02-12 10:54

@dudu: 我感觉也是
给官方提交了一个issue
https://github.com/autofac/Autofac.Extras.DynamicProxy/issues/33

老张的哲学 | 园豆:2 (初学一级) | 2020-02-12 11:37

@老张的哲学: 正确之举。

dudu | 园豆:38803 (高人七级) | 2020-02-12 11:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册