单声道4的例外:
Unhandled Exception:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidProgramException: Invalid IL code in (wrapper delegate-invoke) <Module>:invoke_callvirt_CancellationTokenRegistration_CancellationToken&_Action`1<object>_object (System.Threading.CancellationToken&,System.Action`1<object>,object): IL_0057: castclass 0x00000007
此处提供了更多详细信息:https://github.com/Anthilla/Antd/issues/8
使用单3.2.x, 3.12.1 and other 3.x
一切正常,但从4.0.0-beta
(4.0.1
,4.0.1.28
开始)我得到了这个奇怪的异常。
所以我想知道是否没有IL兼容性,那么如何使用nuget呢? 4.x中的反射有什么变化?
答案 0 :(得分:1)
相关此提交:https://github.com/mono/mono/commit/ae495e8bd485f48ecdb7e53d7e98771220f31997
和这个错误:https://bugzilla.xamarin.com/show_bug.cgi?id=29665
但是构建4.0.1.28
来自分支4.0.0
而不是来自主分区,因此没有此修复程序,它将在4.1
//修复此问题的答案
来自单声道的大卫卡拉斯
来自master
答案 1 :(得分:0)
(我加粗了)
他们将许多类从他们的(“原始”Mono)实现改为Microsoft专家(http://www.mono-project.com/docs/about-mono/releases/4.0.0/),因此许多与Mono兼容的“hacks”现在都无法正常运行,因为CLR使用的库是Microsoft的,它们可能引入了新的错误,因为它们甚至更改了参考源中的一些代码以使其兼容。这是一个“停下火车,改变世界”的版本。