在运行时,我使用Reflection.Emit创建IAsyncStateMachine的实现。一切正常,直到我的状态机调用AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted。这将生成访问冲突错误并使我的应用程序崩溃。我的代码中没有发生违规错误,而是在我的IAsyncStateMachine.MoveNext()方法调用AwaitUnsafeOnCompleted并返回后发生。
有没有人知道为什么会这样?或者想法如何调试这个问题?我认为仅仅反编译动态创建的程序集会很容易,但是对于.NET Core来说它是harder than I thought。