Я играю с MonoDev на своем Mac и хочу посмотреть, насколько хорошо он может запускать базовые приложения ASP.NET, над которыми я работал.
Я выбрал очень простой сайт, на нем есть несколько страниц ASP.NET, все из которых наследуют вложенные главные страницы и некоторые вещи ASP.NET AJAX. Проект - .NET 2.0, и у меня настроен web.config для ASP.NET AJAX 1.0.
Под окнами это работает без каких-либо драм, и, поскольку это так просто, я ожидал, что оно "просто сработает" и в MonoDev. Проблема в том, что когда я запускаю встроенный веб-сервер для MonoDev, я получаю следующее исключение:
Ошибка сервера в «/» приложении
Ссылка на объект не установлена для экземпляра объекта
Описание: HTTP 500. Ошибка обработки запроса.
Трассировка стека:
System.NullReferenceException: ссылка на объект не установлена для экземпляра объекта
в System.Web.Handlers.ScriptResourceHandler.EncryptString (System.String s) [0x00000] в: 0
в System.Web.Handlers.ScriptResourceHandler + RuntimeScriptResourceHandler.System.Web.Handlers.IScriptResourceHandler.GetScriptResourceUrl (сборка System.Reflection.Assembly, System.String resourceName, System.Globalization.CultureInfo culture, логический 0-й языковой код для шифрования) : 0
в System.Web.Handlers.ScriptResourceHandler.GetScriptResourceUrl (сборка System.Reflection.Assembly, имя ресурса System.String, культура System.Globalization.CultureInfo, логический zip, логический notifyScriptLoaded) [0x00000] в: 0
в System.Web.UI.ScriptReference.GetUrlFromName (System.Web.UI.ScriptManager scriptManager, IControl scriptManagerControl, Boolean zip) [0x00000] в: 0
в System.Web.UI.ScriptReference.GetUrl (System.Web.UI.ScriptManager scriptManager, IControl scriptManagerControl, логический zip) [0x00000] в: 0
в System.Web.UI.ScriptManager.RegisterScripts () [0x00000] в: 0
в System.Web.UI.ScriptManager.OnPagePreRenderComplete (отправитель System.Object, System.EventArgs e) [0x00000] в: 0
в System.Web.UI.Page.OnPreRenderComplete (System.EventArgs e) [0x0002a] в /private/tmp/monobuild/build/BUILD/mono-2.6.1/mcs/class/System.Web/System.Web.UI /Page.cs:2157
в System.Web.UI.Page.ProcessLoadComplete () [0x000bf] в /private/tmp/monobuild/build/BUILD/mono-2.6.1/mcs/class/System.Web/System.Web.UI/Page.cs : 1654
в System.Web.UI.Page.InternalProcessRequest () [0x001cb] в /private/tmp/monobuild/build/BUILD/mono-2.6.1/mcs/class/System.Web/System.Web.UI/Page.cs : 1536
в System.Web.UI.Page.ProcessRequest (контекст System.Web.HttpContext) [0x0005b] в /private/tmp/monobuild/build/BUILD/mono-2.6.1/mcs/class/System.Web/System.Web .UI / Page.cs: 1353
Информация о версии: Mono Runtime Version: 2.6.1 (tarball Thu Dec 17 10:19:23 MST 2009); ASP.NET версия: 2.0.50727.1433
Кажется, однако, что когда я удаляю свой ScriptManager со своей корневой главной страницы, все работает нормально (хорошо, за исключением JavaScript, который ожидает его там).
Будучи совершенно новым для Mono & MonoDev, я не знаю, с чего начать с отладки, кроме как добраться до той точки, в которой я сейчас нахожусь.