Closed yangbocheng closed 4 months ago
感谢反馈,这个之前有遇到过,我还以为是更新VS后导致的,没想到是肉夹馍的导致的,这个要抽空研究一下了,可能暂时无法修复
感谢回复。
补充下 热重载失败后在错误栏有这个提示
在Rider中使用也出现了这个错误,.NET7,Rougamo.Fody 1.4.1
这个问题应该跟 #36 属于同类问题,解决 #36 应该就能解决。但目前还没有时间在2.0版本完成支持(可以看我在 #36 中的回复),将在后续版本中修复。
这个问题应该跟 #36 属于同类问题,解决 #36 应该就能解决。但目前还没有时间在2.0版本完成支持(可以看我在 #36 中的回复),将在后续版本中修复。
我2.0 也是这个错误,自定义的切面的 调试可以进入,热重载提示上面兄弟的截图
https://github.com/pamidur/aspect-injector 这个不会影响热重载,但是没有肉夹馍好用,接口拦截也不好
有进展了么?
有进展了么?
没有,目前主要着手解决 #36,之前以为是同类问题,现在看来并不是。等 #36 解决之后会回看这个问题,如果好解决就跟 #36 同一个版本修复,不好解决就延期到下一个大版本
各位,遗憾的通知,肉夹馍将不会支持热重载,理论上静态代码织入的库都无法实现热重载。
@zhaxg 所提及的库其实也没有支持热重载,你们可以试试,对于修改了代码的方法,他的切面代码将无法触发。
热重载的大概原理是,在启动调试时监控代码文件,在代码文件修改时进行局部编译然后修改对应方法IL,静态代码织入是在编译时一次性修改方法IL,无法在热重载发生时再次触发。所以类似 aspect-injector 这种看似支持热重载的库,其实在热重载发生时会导致AOP代码全部被移出。
如果各位发现有静态AOP库能实现热重载的,可以再次开启该issue
#if !DEBUG
[MyInterceptor]
#endif
public void xxx()
{
}
这个库真是宝藏,作者nb。 但是使用中发现一个小问题: 使用了库后,会导致项目的热重载功能失效。请问有无解决办法,(没有也问题不大)