Frage

Ich habe eine Website, die 2-Dateien hat, wie folgt:

  • page.aspx
  • page.aspx.cs

Früher war es so, dass ich nur neue Dateien auf dem Web-Server fallen könnten und IIS würde die Dateien automatisch kompilieren und ich konnte die Seite beispiels zugreifen zu können.

http://www.website.com/page.aspx

... und die damit verbundene Funktionalität in der Seitenklasse in der CS-Datei enthalten würde funktionieren gut.

Jetzt bekomme ich die Fehlermeldung: „Typ konnte nicht namespace.classname laden“, die auf meiner Seite Klasse verweist

Jetzt aus irgendeinem seltsamen Grund Ich habe alle Dateien meine CS- zu setzen, auch Seite Klassen in den Ordner App_Code.

Alles, was auf meiner Website geändert hat, ist, dass ich die Struktur neu geordnet, so dass statt meinen Seiten auf dem Web-Root sein, sind sie nun innerhalb von http:. //.../newfolder/page.aspx

Aus irgendeinem Grund alle meine page.aspx.cs Dateien müssen nun in app_code sein.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Klingt wie Sie eine Web Application Project mischen und eine Web-Site.

Sind Sie sicher, dass die Dateien sind genau das gleiche? Vielleicht ist eine @Page Direktive sagt = Page.aspx.cs und Codebehind der andere sagt Codefile = Page.aspx.cs?

Projektcodebehind Kompilation erfordert, so dass Sie in einer neuen CS-Datei nicht nur fallen können, müssen Sie eine neue kompilierte DLL laden. Codefile wird die dynamische Kompilierung ermöglichen.

Das Verzeichnis App_Code wird dynamisch erstellt (in beiden Fällen), wenn Ihre Anwendung zugegriffen wird, so dass die Inherit Richtlinie eine gültige Art hat, wenn Sie die Datei dort setzen. In der Regel tun dies nicht. Sie wollen, dass die CS-Datei mit der ASPX-Datei zu gehen. Verwenden Sie App_Code für Business-Logik oder Utility-Klassen, die nicht mit einer bestimmten Seite zugeordnet ist.

Schließlich ist dieses neue Unterverzeichnis als eine neue App in IIS einrichten? Was bedeutet die web.config-Datei in Ihrem neuen Verzeichnis ändern? Sind Sie mit der gleichen Version von ASP.NET? Überprüfen Sie die „Compilation“ -Tag. Ich bin mir nicht sicher, was du da dies zu verursachen tun könnte, aber ich bin sicher, Sie könnten dazu führen, einige Chaos.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top