0

我的 Linux 机器上运行着 Mono 3.3.0。我正在尝试使用 RazorEngine 3.3.0(来自 NuGet)。

不幸的是,它现在抛出了这个异常

System.Exception:无法编译模板。预定义类型 System.Collections.Generic.IReadOnlyList' is defined multiple times. Using definition frommscorlib.dll'

但是,该代码在我的 Windows 机器上运行良好。我是否遗漏了一些明显的东西,或者这根本不适用于 Mono?

[编辑]

我刚刚在异常的“错误”属性中找到了这些信息。

{'Line': '0', 'Column': '0', 'ErrorNumber': 'CS1685', 'IsWarning': 'True', 'ErrorText': '预定义类型 System.Collections.Generic.IReadOnlyList' is defined multiple times. Using definition frommscorlib.dll'', 'Filename' : ''} {'Line': '0', 'Column': '0', 'ErrorNumber': '', 'IsWarning': 'False', 'ErrorText': '/usr/lib/mono/4.5/ mscorlib.dll(与先前警告相关的符号位置)','文件名':''} {'Line':'0','Column':'0','ErrorNumber':'','IsWarning': '假','ErrorText':' /usr/lib/mono/gac/fastcgi-mono-server4/3.0.0.0_0738eb9f132ed756/fastcgi-mono-server4。 exe(与先前警告相关的符号位置)','文件名':''} {'Line':'0','Column':'0','ErrorNumber':'CS1685','IsWarning':' True', 'ErrorText': '预定义的类型System.Collections.Generic.IReadOnlyCollection' is defined multiple times. Using definition frommscorlib.dll'','文件名':''} {'行':'0','列':'0','ErrorNumber':'','IsWarning':'False','ErrorText':' /usr/lib/mono/4.5/mscorlib.dll(与先前警告相关的符号位置)','文件名':''} {'行':'0','列':'0','ErrorNumber ': '', 'IsWarning': 'False', 'ErrorText': '/usr/lib/mono/gac/fastcgi-mono-server4/3.0.0.0 _0738eb9f132ed756/fastcgi-mono-server4.exe(符号的位置与之前的警告有关)','文件名':''}

4

2 回答 2

0

如果您只安装了一个 Mono,请查看我在此处描述的解决方案: Razor Engine on Mono 3.2.x with Fast CGI - target specific .net?

于 2014-01-16T19:08:38.153 回答
0

我发现了这个https://askubuntu.com/questions/315713/trouble-compiling-monodevelop-4-on-ubuntu-12-04

它让我想到了我是如何安装 Mono 的。我从 gz 文件安装,然后从 Git(获取最新版本)安装,最终给了我两个副本。不幸的是,我不能直接从 Git 安装(因为它需要安装 Mono 才能构建......)。于是我就逆向了gz,问题就自动解决了!

所以基本上,两个 Mono 实例同时存在(不知何故),RazorEngine 是第一个向我指出这一点的东西(但其他一切都很好)。

于 2013-08-31T21:56:17.597 回答