2009-10-27 5 views
5

Ich verwendete Visual Studio 2008, um meine asp.net-Website zu veröffentlichen. Als ich die Website auf dem Server (Windows 2008 Server) aufrief, bemerkte ich, dass der Code in global.asax nicht ausgeführt wurde. Mein Global.asax Körper ist ähnlich:Global.asax lädt nicht für vorkompilierte asp.net-Website

<%@ 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> 

Es gibt eine App_global.asax.dll in den kompilierten Websites Binärordner, aber das scheint nicht zu helfen.

Gibt es eine Konfigurationsoption, die ich vermisse? Das Entfernen der App_global.asax.dll und das Verwenden der ursprünglichen global.asax mit der vorkompilierten Website funktioniert gut.

Antwort

5

Die einzige Antwort, die ich gefunden habe, ist global.asax (mit Logik) in den kompilierten Ausgabeordner aufzunehmen.

+0

Ich interessiere mich wirklich, Könnten Sie bitte erklären, wie Sie global.asax im kompilierten Ausgabeordner enthalten –

1

Es gibt einige Lösungen in this post, die das Problem für einige Leute, aber nicht alle behebt. Du könntest sie ausprobieren und sehen, ob es für dich funktioniert.

+0

Ich weiß, es ist 8 Jahre später, aber ich habe immer noch dieses Problem. Konnten Sie es reparieren? –

1

Stellen Sie sicher, dass Sie alle notwendigen DLLs in Ihrem Projekt enthalten, es ist auch eine gute Idee, Ihre Projekte zu kompilieren, vergleichen Sie DLLs-Versionen, und wenn diese nicht übereinstimmen, ersetzen Sie sie manuell in jeden Ordner Stellen Sie sicher, dass Sie die richtige Dlls-Version ausführen.

Das funktionierte für mich.

4

Ich hatte ein ähnliches Problem und schaffte es, es durch lösen die PrecompiledApp.config-Datei von der Website Stammordner auf unserem Entwicklungsserver zu entfernen.

Ich denke, dass dies auf den Server bei der Veröffentlichung von Visual Studio übertragen worden sein kann.

+0

In meinem Fall VS2012, veröffentlichte Website hat sowohl global.asax und die app_global.dll, aber die Datei precompiledapp.config fehlte (weil ich unwissentlich manuell gelöscht habe). Das Hinzufügen dieser Konfigurationsdatei hat mein Problem gelöst. – Esen

1

Ich hatte das ähnliche Problem nach der Veröffentlichung vorkompilierte ASP.NET-Projekt unter .NET 4 und IIS 7.0. Globale Anwendung wurde nicht beim Start der Anwendung ausgeführt. Nach dem Platzieren von PrecompiledApp.config auf dem Server wurde mein Problem gelöst und die Datei Global.asax mit dem Namen App_global.asax.dll wurde an den Anfang des Lebenszyklus gesetzt und ausgeführt.

0

Ich denke, das Umbenennen von Application_Start() zu Application_OnStart() würde das Problem lösen.

Verwandte Themen