1

我为 centos 编译了单声道源代码(使用 ./configure、make、make install),似乎没问题。

mono --version
Mono JIT compiler version 2.10.9 (tarball 2013年 01月 02日 星期三 13:43:05 CST)
Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-project.com
    TLS:           __thread
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  x86
    Disabled:      none
    Misc:          softdebug 
    LLVM:          supported, not enabled.
    GC:            Included Boehm (with typed GC and Parallel Mark)

但是当我尝试运行一个调用 LitJson 的 .ashx 文件时,我得到了

<p><strong>Description: </strong>HTTP 500. Error processing request.</p>
<p><strong>Stack Trace: </strong></p><table summary="Stack Trace" class="sampleCode">
<tr><td><pre>System.MissingMethodException: Method not found: 'System.Reflection.MethodInfo.op_Inequality'.
  at LitJson.JsonMapper.ToObject (System.Type type, System.String json) [0x00000] in &lt;filename unknown&gt;:0 
  at MobiusServer.Login..ctor (System.String jsondata) [0x00000] in &lt;filename unknown&gt;:0 
  at MobiusServer.MobiusHandler.ProcessRequest (System.Web.HttpContext context) [0x00000] in &lt;filename unknown&gt;:0 
  at System.Web.HttpApplication+&lt;Pipeline&gt;c__Iterator3.MoveNext () [0x00000] in &lt;filename unknown&gt;:0 
  at System.Web.HttpApplication.Tick () [0x00000] in &lt;filename unknown&gt;:0 </pre></td></tr>
</table>
<hr style="color: silver"/><strong>Version information: </strong> Mono Runtime Version: <tt>2.10.9 (tarball 2013/01/02 Wed 13:43:05 CST)</tt>; ASP.NET Version: <tt>2.0.50727.1433</tt></body></html>

<!--
[System.MissingMethodException]: Method not found: 'System.Reflection.MethodInfo.op_Inequality'.
  at LitJson.JsonMapper.ToObject (System.Type type, System.String json) [0x00000] in <filename unknown>:0 
  at MobiusServer.Login..ctor (System.String jsondata) [0x00000] in <filename unknown>:0 
  at MobiusServer.MobiusHandler.ProcessRequest (System.Web.HttpContext context) [0x00000] in <filename unknown>:0 
  at System.Web.HttpApplication+<Pipeline>c__Iterator3.MoveNext () [0x00000] in <filename unknown>:0 
  at System.Web.HttpApplication.Tick () [0x00000] in <filename unknown>:0 
-->

我可以在我的 mac os x 上运行相同的程序,它也安装了 mono 2.10.9 运行时。我做错了什么或错过了什么?谢谢!!

4

1 回答 1

0

经过一整天的研究,原来 mod_mono 将使用 .NET 2.0(mod-mono-server) 编译我的程序,但我的程序需要 .NET 4.0

修改下面的 mod_mono.conf 文件后,问题解决了!

# mod_mono.conf

# Achtung! This file may be overwritten
# Use 'include mod_mono.conf' from other configuration file
# to load mod_mono module.

<IfModule !mod_mono.c>
    LoadModule mono_module /usr/lib/httpd/modules/mod_mono.so
</IfModule>

<IfModule mod_headers.c>
    Header set X-Powered-By "Mono"
</IfModule>

MonoAutoApplication enabled
MonoDebug true
MonoServerPath "/etc/mono/bin/mod-mono-server4"
MonoUnixSocket "/tmp/.mod_mono"

AddType application/x-asp-net .aspx
AddType application/x-asp-net .asmx
AddType application/x-asp-net .ashx
AddType application/x-asp-net .asax
AddType application/x-asp-net .ascx
AddType application/x-asp-net .soap
AddType application/x-asp-net .rem
AddType application/x-asp-net .axd
AddType application/x-asp-net .cs
AddType application/x-asp-net .vb
AddType application/x-asp-net .master
AddType application/x-asp-net .sitemap
AddType application/x-asp-net .resources
AddType application/x-asp-net .skin
AddType application/x-asp-net .browser
AddType application/x-asp-net .webinfo
AddType application/x-asp-net .resx
AddType application/x-asp-net .licx
AddType application/x-asp-net .csproj
AddType application/x-asp-net .vbproj
AddType application/x-asp-net .config
AddType application/x-asp-net .Config
AddType application/x-asp-net .dll
DirectoryIndex index.aspx
DirectoryIndex Default.aspx
DirectoryIndex default.aspx
于 2013-01-08T10:09:27.220 回答