debian/opensuse上asp.net/xsp/mono上的TypeLoadException
当我重置apache并加载我的网站时,我得到下面的第一个错误。我不知道是什么问题。如果我再次重新加载页面(不重新启动apache),则会出现第二个错误,可能是因为发生了第一个错误,并且BaseUser是应用程序\u Start使用的第一个类/func 为什么我会遇到这个负载异常?搞砸了的是,我尝试使用mono的VMWare img对其进行调试,但得到了完全相同的异常(直到我重新启动,现在它拒绝给我任何信息)。然而,当我使用mono develop来运行项目时,网站运行得非常完美。WTF 有什么想法吗debian/opensuse上asp.net/xsp/mono上的TypeLoadException,asp.net,linux,mono,xsp,Asp.net,Linux,Mono,Xsp,当我重置apache并加载我的网站时,我得到下面的第一个错误。我不知道是什么问题。如果我再次重新加载页面(不重新启动apache),则会出现第二个错误,可能是因为发生了第一个错误,并且BaseUser是应用程序\u Start使用的第一个类/func 为什么我会遇到这个负载异常?搞砸了的是,我尝试使用mono的VMWare img对其进行调试,但得到了完全相同的异常(直到我重新启动,现在它拒绝给我任何信息)。然而,当我使用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
“/”应用程序中的服务器错误
发生类型加载异常。
描述:HTTP 500。处理请求时出错。
堆栈跟踪:
System.TypeLoadException:发生类型加载异常。
at(包装器管理为本机)System.Reflection.monmethod:InternalInvoke(System.Reflection.monmethod*,object,object[],System.Exception&)
在System.Reflection.MonMethod.Invoke(System.Object obj、BindingFlags invokeAttr、System.Reflection.Binder Binder、System.Object[]参数、System.Globalization.CultureInfo区域性)[0x00000]中:0
版本信息:Mono运行时版本:2.8.1(tarball Mon-Dec 27 10:20:03 UTC 2010);ASP.NET版本: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
“/”应用程序中的服务器错误
无法从程序集“mynamespace,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”加载类型“mynamespace.BaseUser”。
描述:HTTP 500。处理请求时出错。
堆栈跟踪:
System.TypeLoadException:无法从程序集“mynamespace,版本=1.0.0.0,区域性=中性,PublicKeyToken=null”加载类型“mynamespace.BaseUser”。
在mynamespace.Global.Application_启动时(System.Object sender,System.EventArgs e)[0x00000]输入:0
at(包装器管理为本机)System.Reflection.monmethod:InternalInvoke(System.Reflection.monmethod*,object,object[],System.Exception&)
在System.Reflection.MonMethod.Invoke(System.Object obj、BindingFlags invokeAttr、System.Reflection.Binder Binder、System.Object[]参数、System.Globalization.CultureInfo区域性)[0x00000]中:0
版本信息:Mono运行时版本:2.8.1(tarball Mon-Dec 27 10:20:03 UTC 2010);ASP.NET版本:2.0.50727.1433
-编辑-我要提到的是,我曾尝试在opensuse和我的网站上构建我的网站,但我遇到了完全相同的问题。我在Linux中遇到了许多类似的问题,但我成功地处理了所有这些问题 我不知道这是否适用于您,但我会在运行
xsp
之前执行xbuild
。它帮助了我很多次,我甚至不知道为什么需要它,因为XSP应该像ASP.NET通常那样,在编译ASP.NET页面之前预编译C#项目
TypeLoadException
在程序集的DLL无法加载时发生(通常也在程序集中不存在类的情况下发生,但这不是您的情况),因此我猜ASP.NET的Bin目录中没有填充应用程序的DLL后面的代码
但是。。。我还有一个疑问:由于调用了mynamespace.Global.Application\u Start,这意味着后面的代码已经被编译过了,否则您的错误将与全局类有关
试着听听我的建议,告诉我发生了什么。我不太懂xbuild。我该怎么办?我是否只需将cd刻录到目录并键入xbuild?我这样做了,看到0个错误,20个警告。我删除了主dll并再次键入xbuild,然后看到它们被创建。我将dll和mdb文件复制到我的服务器上,然后重新启动,得到了相同的错误。为什么不直接在服务器上运行xbuild?Xbuild与msbuild的作用相同:它根据.sln文件编译解决方案,或根据.csproj文件编译项目。就像“make”没有安装,或者“ant”嗯,好吧,我试试。我在服务器上没有源文件或解决方案。几分钟后我会告诉您,您的程序集是否有值得注意的依赖项?例如,log4net,nhibernate。。。?myNamespace程序集是否仅依赖于系统程序集?因此,在修改服务器上的prj文件以将链接文件更改为目录中的文件后,我编译并发现我忘记了mysql引用/dll文件。在包括这些之后,我现在得到了我在mono的opensuse测试VM映像上得到的404错误(链接已经在文章中,但这里再次出现)。不,不存在任何依赖关系。只有mysql和lucence,我在我的另一个网站上成功地使用了它们,目前正在同一台服务器上运行,没有任何问题