TypeLoadException на asp.net/xsp/mono на debian/opensuse
Когда я сбрасываю apache и загружаю свой сайт, я получаю первую ошибку ниже. Я понятия не имею, в чем проблема. Если я перезагружаю страницу снова (без перезапуска apache), я получаю вторую ошибку, вероятно, потому, что произошла первая ошибка, а BaseUser - первый класс /func, который использует Application_Start.
Почему я получаю это исключение загрузки? Что запуталось, так это то, что я попытался использовать моно VMWare img для его отладки, и я получил то же самое исключение (пока я не перезапустился, который теперь отказывается давать мне что-либо, кроме 404 ошибок). Тем не менее, когда я использую Mono De velop для запуска проекта, сайт работает ОТЛИЧНО. 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
-я… я упомяну, что я попробовал сборку моего сайта MonoDevelops как на opensuse, так и на моем сайте, и у меня возникла та же проблема.
1 ответ
У меня было много подобных проблем с Mono в Linux, но мне удалось справиться со всеми из них.
Я не знаю, работает ли это для вас, но я бы сделал xbuild
до запуска xsp
, Это помогло мне много раз, и я даже не знаю, почему это было необходимо, поскольку предполагается, что XSP, как это обычно делает ASP.NET, прекомпилирует проект C# до компиляции страниц ASP.NET.
TypeLoadException
происходит, когда DLL-библиотека сборки не может быть загружена (в общем случае, когда класс не присутствует в сборке, но это не ваш случай), поэтому я предполагаю, что каталог Bin ASP.NET не заполнен DLL-библиотекой кода приложения.
Но... У меня также есть подозрение: так как mynamespace.Global.Application_Start вызывается, это означает, что ваш код уже скомпилирован, иначе ваша ошибка будет о Global
учебный класс.
Попробуйте с моим советом и скажите мне, что происходит.