TypeLoadexception на asp.net/xsp/mono на Debian/opensuse
Вопрос
Когда я сбрасываю Apache и загружаю свой сайт, я получаю первую ошибку ниже. Я понятия не имею, в чем проблема. Если я снова перезагружаю страницу (без перезапуска Apache), я получу 2 -ю ошибку, вероятно, потому что произошла первая ошибка, а BaseUser - это первый класс/фанк, который использует Application_start.
Почему я получаю это исключение нагрузки? Что запутано, я пытался использовать VMware от Mono, чтобы отладить его, и я получил такое же исключение (пока я не перезапустил, что теперь отказывается от того, чтобы дать мне что -нибудь но 404 ошибки) Однако, когда я использую 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, так и на моем веб-сайте, и я испытываю ту же проблему.
Решение
У меня было много подобных проблем с Mono в Linux, но мне удалось справиться со всеми из них.
Я не знаю, работает ли это для вас, но я бы сделал xbuild
До запуска xsp
. Анкет Это помогало мне много раз, и я даже не знаю, почему это требовалось, так как XSP, как обычно делает ASP.NET, предварительно компилировать проект C# до составления страниц ASP.NET.
TypeLoadException
возникает, когда DLL сборки не может быть загружен (в целом также, когда класс не присутствует в сборке, но это не ваш случай), поэтому я думаю, что каталог бин ASP.NET не заполнен DLL приложения.
Но ... у меня также есть подозреваемый: со времен mynamespace.global.application_start вызывается, это означает, что ваш код позади уже был составлен, в противном случае ваша ошибка была бы о Global
учебный класс.
Попробуйте с моим советом и скажите мне, что происходит.