Global.asax не загружается для предварительно скомпилированного веб-сайта asp.net

Я использовал Visual Studio 2008 для публикации своего веб-сайта asp.net. Когда я открывал веб-сайт на сервере (сервер Windows 2008), я заметил, что код в global.asax не работает. Мое тело Global.asax похоже на:

<%@ Application Language="C#" %>
<script runat="server">
    protected void Application_Start()
    {
        // Initialize some site settings like a task scheduler
    }

    protected void Application_End(object sender, EventArgs e)
    {
        // Perform some clean up code
    }
</script>

В папке bin скомпилированных веб-сайтов есть App_global.asax.dll, но это, похоже, не помогает.

Есть ли вариант конфигурации, который мне не хватает? Удаление App_global.asax.dll и использование исходного global.asax с предварительно скомпилированным веб-сайтом работает нормально.


person Jim Geurts    schedule 27.10.2009    source источник


Ответы (6)


Единственный ответ, который я нашел, - это включить global.asax (с логикой) в скомпилированную выходную папку.

person Jim Geurts    schedule 19.11.2009
comment
Мне это действительно интересно, не могли бы вы объяснить более подробно, как включить global.asax в скомпилированную выходную папку - person Frank Myat Thu; 14.11.2012

У меня была аналогичная проблема, и мне удалось ее решить, удалив файл PrecompiledApp.config из корневой папки веб-сайта на нашем сервере разработки.

Я думаю, что это могло быть перенесено на сервер при публикации из Visual Studio.

person Jonathan Williams    schedule 17.07.2012
comment
В моем случае VS2012 на опубликованном веб-сайте есть как global.asax, так и app_global.dll, но файл precompiledapp.config отсутствовал (потому что я удалил вручную по незнанию). Добавление этого файла конфигурации решило мою проблему. - person Esen; 02.02.2013

В этом сообщении есть несколько решений, которые устраняют проблему для некоторых людей, но не для всех. . Вы можете попробовать их и посмотреть, работает ли это для вас.

person keyboardP    schedule 28.10.2009
comment
Я знаю, что прошло 8 лет, но у меня все еще есть эта проблема. Удалось ли это исправить? - person Vin Shahrdar; 24.10.2017

Убедитесь, что у вас есть все необходимые DLL-библиотеки, включенные в ваш проект. Также неплохо было бы скомпилировать ваши проекты, сравнить версии библиотек DLL, и, если они не совпадают, вручную замените их в каждой папке, чтобы вы могли быть уверены, что ваш используют правильную версию DLL.

Это сработало для меня.

person Oskar_    schedule 06.11.2010

У меня была аналогичная проблема после публикации предварительно скомпилированного проекта ASP.NET под .NET 4 и IIS 7.0. Глобальное приложение не запускалось при запуске приложения, затем после размещения PrecompiledApp.config на сервере моя проблема была решена, и скомпилированный файл Global.asax с именем App_global.asax.dll вышел на передний план жизненного цикла и запустился.

person Ali Shams    schedule 02.10.2013

Я думаю, что переименование Application_Start () в Application_OnStart () решит проблему.

person Reshad    schedule 11.12.2013