在debian / opensuse上的asp.net/xsp/mono上的TypeLoadException

时间:2010-12-27 21:49:13

标签: asp.net linux mono xsp

当我重置apache并加载我的网站时,我得到下面的第一个错误。我不知道问题是什么。如果我再次重新加载页面(没有重新启动apache)我得到第二个错误,可能是因为第一个错误发生而BaseUser是Application_Start使用的第一个类/ func。

为什么我收到此加载异常?什么搞砸了我尝试使用mono的VMWare img来调试它,我得到了同样的异常(直到我重新启动,现在拒绝给我任何but 404 errors)。但是,当我使用mono develop来运行项目时,该站点运行完美。 WTF。

有什么想法吗?

Server Error in '/' Application
A type load exception has occurred.

Description: HTTP 500. Error processing request.

Stack Trace:

System.TypeLoadException: A type load exception has occurred.
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod*,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 

Version information: Mono Runtime Version: 2.8.1 (tarball Mon Dec 27 10:20:03 UTC 2010); ASP.NET Version: 2.0.50727.1433

第二

Server Error in '/' Application
Could not load type 'mynamespace.BaseUser' from assembly 'mynamespace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

Description: HTTP 500. Error processing request.

Stack Trace:

System.TypeLoadException: Could not load type 'mynamespace.BaseUser' from assembly 'mynamespace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
  at mynamespace.Global.Application_Start (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod*,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 

Version information: Mono Runtime Version: 2.8.1 (tarball Mon Dec 27 10:20:03 UTC 2010); ASP.NET Version: 2.0.50727.1433

-edit-我会提到我在opensuse和我的网站上尝试了MonoDevelops构建我的网站,我得到了完全相同的问题。

1 个答案:

答案 0 :(得分:1)

我在Linux中使用Mono时遇到了很多类似的问题,但我设法处理了所有这些问题。

我不知道这是否适合您,但在运行xbuild之前我会xsp。它帮助了很多次,我甚至不知道为什么它是必需的,因为XSP应该像ASP.NET一样,在编译ASP.NET页面之前预先编译C#项目。

无法加载程序集的DLL时出现

TypeLoadException(通常在程序集中不存在类时也是如此,但事实并非如此),所以我猜ASP.NET的Bin目录未填充使用应用程序的代码隐藏DLL。

但是......我也有一个嫌疑人:因为调用了mynamespace.Global.Application_Start,这意味着后面的代码已经编译,否则你的错误将是{{1 }。class。

尝试我的建议并告诉我会发生什么。