首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Mono4.x中反射发生了什么变化?(与mono 3.x兼容)

在Mono4.x中反射发生了什么变化?(与mono 3.x兼容)
EN

Stack Overflow用户
提问于 2015-05-09 15:21:32
回答 2查看 341关注 0票数 0

我对mono 4的例外:

代码语言:javascript
复制
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

所有东西都可以用mono 3.2.x, 3.12.1 and other 3.x构建,但是从4.0.0-beta (4.0.14.0.1.28)开始,我得到了这个奇怪的异常。

所以我想知道是否没有IL兼容性,那么怎么可能使用nuget呢?在4.x中反射发生了什么变化?

同样的问题出现在这里:Issue after updating to mono 4.0.1 on Ubuntu

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-09 16:05:56

与此提交相关:https://github.com/mono/mono/commit/ae495e8bd485f48ecdb7e53d7e98771220f31997

这个bug:bug.cgi?id=29665

但是build 4.0.1.28是来自分支4.0.0,而不是来自主,所以这里没有这个修复,它将在4.1 //信用中被修复,因为这个答案来自mono gitter的David Karlas。

master的mono一起,一切都很顺利。

票数 1
EN

Stack Overflow用户

发布于 2015-05-09 15:44:24

来自http://www.mono-project.com/docs/about-mono/releases/4.0.0/

  • 采用微软的开源代码
  • C# 6.0
  • 浮点优化
  • 我们放弃了对2.0、3.5和4.0程序集的支持
  • 更新的IKVM
  • 轻型调试器
  • 基本PowerPC64 LE支持

(我加了粗体)

他们将许多类从它们(“原始”的“Mono”)实现改为Microsoft (http://referencesource.microsoft.com),所以现在有许多与Mono兼容的“黑客”都是非功能性的,因为所使用的CLR库是微软的,而且它们可能引入了新的bug,因为它们甚至修改了参考源代码中的一些代码,以使其兼容。这是一个“停下火车,改变世界”的版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30141697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档