Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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# 单声道mcs';Winforms Hello World';给出编译错误CS006:元数据文件';cscompmgd.dll';找不到_C#_.net_Linux_Mono_Raspberry Pi - Fatal编程技术网

C# 单声道mcs';Winforms Hello World';给出编译错误CS006:元数据文件';cscompmgd.dll';找不到

C# 单声道mcs';Winforms Hello World';给出编译错误CS006:元数据文件';cscompmgd.dll';找不到,c#,.net,linux,mono,raspberry-pi,C#,.net,Linux,Mono,Raspberry Pi,我不熟悉linux和mono。我将mono安装到一个新的Raspberry Pi机器上,使用 sudo apt-get install mono-complete. 我还使用apt-get进行了更新和升级 然后,我在Mono项目网站的Mono Basic页面中介绍了helloWorld示例: 我使用以下方法构建并运行了第一个“Console Hello World”示例: mcs hello.cs mono hello.exe 但是,当我尝试下一个示例“Winforms Hello W

我不熟悉linux和mono。我将mono安装到一个新的Raspberry Pi机器上,使用

sudo apt-get install mono-complete.  
我还使用apt-get进行了更新和升级

然后,我在Mono项目网站的Mono Basic页面中介绍了helloWorld示例:

我使用以下方法构建并运行了第一个“Console Hello World”示例:

mcs hello.cs
mono hello.exe
但是,当我尝试下一个示例“Winforms Hello World”时,在运行“mcs Hello.cs-pkg:dotnet”时遇到以下错误:

error CS0006: Metadata file 'cscompmgd.dll' could not be found
但是,如果我使用GMC而不是mcs,它是有效的

我到处搜索,但运气不好

我可以在我的Raspberry Pi的“/usr/lib/mono/2.0”目录中找到指向此文件“cscompmgd.dll”的链接

安装的mono版本是3.2.8(通过使用“mono--version”返回)

有人知道为什么它与GMC一起工作,而与mcs不一起工作吗


谢谢。

通过添加-lib:选项解决,如下所示:

mcs helloWinforms.cs -pkg:dotnet -lib:/usr/lib/mono/2.0
添加溶液

-lib:/usr/lib/mono/2.0
在我的例子中不是最好的(它打破了对一些4.0元素的依赖,特别是“System.Threading”)


脏的,但是有用 另一个非常肮脏的解决方案是复制

/usr/lib/mono/2.0/cscompmgd.dll
添加到项目文件夹(或Makefile所在的任何位置)并添加

编译时(或在'-r'指定的其他包含库列表之后添加文件名)。 可能有一种方法可以做到这一点,而无需复制文件,但这超出了我的能力范围


因此,你最终会:

mcs helloWinforms.cs -pkg:dotnet -r:cscompmgd.dll

在Ubuntu14.04上也出现了同样的错误,这对我很有效。在ElementaryOS上也对我有效(我相信是Ubuntu14.04的派生版本)。那么为什么需要添加这个呢?在Debian 4.1上对我有效在Debian 8.3上工作
mcs helloWinforms.cs -pkg:dotnet -r:cscompmgd.dll