Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# System.TypeLoadException与MonoDevelop_C#_F#_Mono_Monodevelop_Linux Mint - Fatal编程技术网

C# System.TypeLoadException与MonoDevelop

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

昨天,我按照中建议的步骤在我的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.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密钥可能已损坏或无效。