1

我正在尝试使用 Mono 将 ASP MVC 3 (.NET Framework 4.0) 应用程序部署到 ubuntu 12.04。这是我安装的 Mono 的当前版本:

Mono JIT 编译器版本 2.10.8.1 (Debian 2.10.8.1-1ubuntu2.2) 版权所有 (C) 2002-2011 Novell, Inc、Xamarin, Inc 和贡献者。www.mono-project.com TLS:__thread SIGSEGV:altstack 通知:epoll 架构:amd64 已禁用:无 杂项:softdebug LLVM:支持,未启用。GC:包括 Boehm(带类型 GC 和 Parallel Mark)

为了确切知道代码在哪里中断,我删除了 ASP 项目并从控制台应用程序运行我的方法,以便我可以调试。我发现这是我的代码破坏的方法:

    public IEnumerable<Type> loadClassAttributes<TAttribute>() where TAttribute : System.Attribute
    {
        return from a in AppDomain.CurrentDomain.GetAssemblies()
               from t in a.GetTypes()
               where t.IsDefined(typeof(TAttribute), false)
               select t;
    }

这是 Mono Developer 显示的错误堆栈:

System.Linq.Enumerable+c__Iterator2B 3[[System.Reflection.Assembly, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Type, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[<>__AnonType12[[System.Reflection.Assembly,mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089],[System.Type,mscorlib,版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089]], TBL.Common.Dal, 版本=1.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext ()

当我使用 XSP4 从 ASP MVC 运行相同的应用程序时,这是我的浏览器显示的屏幕截图

在此处输入图像描述

我从事 .NET 开发已经很多年了,但我真的是 Mono 的新手。我想知道其他人是否已经解决了这个问题以及如何解决它。

提前致谢。

编辑:添加日志输出

Mono:gc 占用了 31 usecs Mono:Assembly Loader 探测位置:'/usr/lib/mono/4.0/mscorlib.dll'。Mono: Image addref mscorlib[0x20fc8c0] -> /usr/lib/mono/4.0/mscorlib.dll[0x20fbb90]: 2 Mono: AOT 未能加载 AOT 模块 /usr/lib/mono/4.0/mscorlib.dll.so: /usr/lib/mono/4.0/mscorlib.dll.so:无法打开共享对象文件:没有这样的文件或目录

单声道:程序集加载器从位置加载程序集:'/usr/lib/mono/4.0/mscorlib.dll'。Mono:配置尝试解析:'/usr/lib/mono/4.0/mscorlib.dll.config'。Mono:配置尝试解析:'/etc/mono/assemblies/mscorlib/mscorlib.config'。Mono:程序集 mscorlib[0x20fc8c0] 添加到域 alogimex.test.exe,ref_count=1 Mono:配置尝试解析:'/etc/mono/config'。Mono:配置尝试解析:'/home/mleyzaola/.mono/config'。单声道:程序集加载器探测位置:'alogimex.test.exe'。单声道:图像地址 alogimex.test[0x21791f0] -> /home/mleyzaola/net/alogimex.mono/alogimex.mono.solution/alogimex.test/bin/Debug/alogimex.test.exe[0x20fa980]:3 单声道:汇编alogimex.test[0x21791f0] 添加到域 alogimex.test.exe, ref_count=1 Mono:

4

1 回答 1

0

做某事感觉很奇怪,修复它并且不知道最初出了什么问题。然而,这已通过 Mono Develop 3.1 的升级得到修复

如果其他人碰巧有这个问题,答案在这里: https ://stackoverflow.com/a/16093182/917268

于 2013-09-13T05:08:07.783 回答