inversionhourglass / Rougamo

Compile-time AOP component. Works with any method, whether it is async or sync, instance or static. Uses an aspectj-like pattern to match methods.
MIT License
393 stars 47 forks source link

这段代码会报错 KeyNotFoundException: The given key 'NewScript' was not present in the dictionary. Rougamo/shared/Fody.Simulations/Extensions/MonoCloneExtension.cs:221 #86

Closed gaozhou closed 3 weeks ago

gaozhou commented 3 weeks ago
public class TestAttribute : MoAttribute
{
    public override void OnEntry(MethodContext context)
    {
        // OnEntry对应方法执行前
    }

    public override void OnException(MethodContext context)
    {
        // OnException对应方法抛出异常后
    }

    public override void OnSuccess(MethodContext context)
    {
        // OnSuccess对应方法执行成功后
    }

    public override void OnExit(MethodContext context)
    {
        // OnExit对应方法退出时
    }
}

public class NewScript
{
    // Start is called before the first frame update
    [Test]
    void Start()
    {
        var loggerFactory = LoggerFactory.Create(logging =>
        {
            logging.SetMinimumLevel(LogLevel.Trace);
            logging.AddZLoggerUnityDebug(); // log to UnityDebug
        });
// 这里的泛型参数改成其他类型都不会报错
        var logger = loggerFactory.CreateLogger < NewScript > ();
        var name = "asdafasdfa";
        logger.ZLogInformation($"Hello, {name} lives in {name} {name} years old.");
    }
}
inversionhourglass commented 3 weeks ago

感谢反馈,将尽快修复。

代码部分最好用代码块,方便阅读查看,我把你的问题编辑过了,你可以直接在修改界面查看。

inversionhourglass commented 3 weeks ago

已修复,已发布预发版4.0.4-preview-1727349912,预计9.30发布正式版

inversionhourglass commented 3 weeks ago

我看你之前有一个issue是关于unity使用肉夹馍的,这个现在咋样,能接入不

gaozhou commented 3 weeks ago

我看你之前有一个issue是关于unity使用肉夹馍的,这个现在咋样,能接入不

能接入,我就是在接入unity的时候发现这个问题的

用这个库 com.vovgou.loxodon-framework-fody

再按照这个库的格式把rougamo的dll复制一下就行了 com.vovgou.loxodon-framework-fody-tostring

编辑一下 weaver就能用了 < ?xml version="1.0" encoding="utf-8"? > < Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > < AssemblyNames > < Item >Assembly-CSharp< /Item > < /AssemblyNames > < Rougamo / > < /Weavers >

inversionhourglass commented 3 weeks ago

有方法支持就挺好。不过我确实对unity完全不了解,无法很好的向别人介绍接入方式,如果你有空的话,可以完整实现后发布一个包/插件,应该能帮到一些有需要的朋友

gaozhou commented 3 weeks ago

有方法支持就挺好。不过我确实对unity完全不了解,无法很好的向别人介绍接入方式,如果你有空的话,可以完整实现后发布一个包/插件,应该能帮到一些有需要的朋友

可以