Mono-TemplateCompilationException上的RazorEngine引发

本文关键字:引发 RazorEngine 上的 Mono-TemplateCompilationException | 更新日期: 2023-09-27 18:29:55

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

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

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

然而,代码在我的Windows机器上运行得很好。我是遗漏了一些显而易见的东西,还是这在Mono上根本不起作用?

[编辑]

我刚刚在异常的"Errors"属性中找到了这些信息。

{"行":"0","列":"零","错误号":"CS1685","IsWarning":'True','ErrorText':'预定义的类型System.Collections.Generic.IReadOnlyList' is defined multiple times. Using definition from mscorlib.dll","文件名":"}{"行":"0","列":"0","错误编号":","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(与上一个警告相关的符号的位置)',"Filename":"}{"行":"0","列":"零","错误号":"CS1685","IsWarning":'True','ErrorText':'预定义的类型System.Collections.Generic.IReadOnlyCollection' is defined multiple times. Using definition from mscorlib.dll","文件名":"}{'Line':'0','Column':'0'、'ErrorNumber':''、'IsWarning':'False',"ErrorText":"/usr/lib/mono/4.5/mscorlib.dll(符号的位置与以前的警告相关)','文件名':''}{'Line':'0',"列":"0","错误编号":","IsWarning":"False","ErrorText":'/usr/lib/mono/gac/fastcgi-mono-server4/3.0.0.0_0738eb9f132ed756/fastcgi-mono-server4.exe(与上一个警告相关的符号的位置)','文件名':''}

Mono-TemplateCompilationException上的RazorEngine引发

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

它让我思考如何安装Mono。我从一个gz文件安装,然后从Git安装(以获得最新版本),这最终给了我两个副本。不幸的是,我无法直接从Git安装(因为它需要安装Mono才能构建…)。所以我只是反转到gz,问题自动解决了!

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

如果您只安装了一个Mono,请查看我在这里描述的解决方案:Razor Engine on Mono 3.2.x with Fast CGI-目标特定.net?