C# System.TypeLoadException与MonoDevelop
昨天,我按照中建议的步骤在我的LinuxMint13安装程序上安装了MonoDevelop3.0。但是,当我尝试创建任何提供类型的新解决方案时,会出现以下错误:C# System.TypeLoadException与MonoDevelop,c#,f#,mono,monodevelop,linux-mint,C#,F#,Mono,Monodevelop,Linux Mint,昨天,我按照中建议的步骤在我的LinuxMint13安装程序上安装了MonoDevelop3.0。但是,当我尝试创建任何提供类型的新解决方案时,会出现以下错误: An error has occurred. A type load exception has occurred. System.TypeLoadException: A type load exception has occurred. at (wrapper managed-to-native) System.Reflec
An error has occurred.
A type load exception has occurred.
System.TypeLoadException: A type load exception has occurred.
at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
发生错误。
发生类型加载异常。
System.TypeLoadException:发生类型加载异常。
at(包装器管理为本机)System.Reflection.MonoCMethod:InternalInvoke(System.Reflection.MonoCMethod,object,object[],System.Exception&)
在System.Reflection.MonoCMethod.Invoke(System.Object obj、BindingFlags invokeAttr、System.Reflection.Binder Binder、System.Object[]参数、System.Globalization.CultureInfo区域性)[0x00000]中:0
这个错误是什么意思?我该如何修复它?谢谢。我的一台开发机器设置为双启动Windows 7和Ubuntu 12.04,由于我在Ubuntu上只安装了Monodevelop 2.8,所以我想我应该按照您引用的答案(来自askubuntu)中的步骤进行操作 当我运行
sudo-apt-add-repository-ppa:directhex/ppa
命令时,我收到一条很大的警告消息,说ppa总是包含Monodevelop的最新的、可能不稳定的源代码,并建议改为使用来自的ppa。Badgerports只使用稳定的、经过测试的源代码——在撰写本文时,它拥有Monodevelop版本3.0.3.2+dfsg-1~dhx1~precise1
因此,我点击了Ctrl+C
,取消了apt add repository
命令,而是按照以下命令操作。之后,我运行命令更新本地包数据库并安装Monodevelop:
sudo apt-get update
sudo apt-get install monodevelop
一旦安装了monodevelop,我就能够启动它并创建/构建/调试一个新的C#示例项目,而不会出现任何问题
要安装F#外接程序,我在一个顶级菜单(“工具”)下找到了一个“外接程序”选项,展开树的“语言绑定”节点,选择F#语言绑定并单击“安装”。在这一点上,我能够创建/构建/调试一个新的F#项目,没有任何问题
警告:我从Windows/VS2010复制了一个现有的F#项目,然后尝试构建/调试它。我得到了一个类似于您的错误,然后Monodevelop严重崩溃(我不得不终止进程)
如果你在从Badgerports安装Monodevelop后无法让它工作,你应该联系Mono和Monodevelop的开发人员让他们调查一下——这个异常消息让我相信它可能是Mono内部的一个bug,但是Monodevelop中也可能有一个bug触发了它。看起来Mono引擎本身内部的一些p/Invoke调用(即,对本机代码的托管调用)失败了——可能是Linux Mint的兼容性问题。@JackP.,谢谢。可能的解决方案?对于任何项目类型(如C#、F#等)或仅F#项目,您是否会遇到此错误?@knocte,Mono JIT编译器版本2.10.8.1(Debian 2.10.8.1-5~dhx1~precise1)无法在此处设置badgerports PPA。软件经理说GPG密钥可能已损坏或无效。