Kompilieren Sie eine ASP.Net in einer WinForms-Anwendung
-
13-09-2019 - |
Frage
Ich versuche, einen Agenten / Client zu entwickeln, die auf HTTP-Anforderungen auf einem bestimmten Port hören, und dazu dienen, eine einfache ASP.Net Seite. Zu diesem Zweck verwende ich die Httplistener und ApplicationHost Klassen.
Ich habe eine einfache Seite zu meinem Projekt (MyPage.aspx) hinzugefügt. Wenn es in der einzigen Datei den gesamten Code enthalten, die alle gut funktioniert (es auf der Seite durch Hinzufügen <% Response.Write(DateTime.Now.ToString()); %>
zum HTML getestet, und den Zeitstempel im Browser zu beobachten).
Ich fuhr fort, um dann einen einzigen hinzufügen Taste, um es, eine Code-Behind-Datei (mypage.aspx.cs) hinzufügen und erstellt manuell eine Designer-Datei (mypage.aspx.designer.cs). Ich habe <%@ Page Language="C#" AutoEventWireup="true" Codebehind="SearchForm.aspx.cs" Inherits="MyNameSpace.MyPage" %>
zu der ASPX-Datei hinzugefügt und überprüfte alle kompilieren gut
Beim Versuch, die Web-Seite aus dem Browser zuzugreifen, erhalte ich folgende Fehlermeldung:.
Beschreibung: : Ein Fehler ist aufgetreten während das Parsen einer Ressource erforderlich ist, um Service Anfrage. Lesen Sie bitte Der folgende spezifische Parse-Fehler Details und die Quelldatei ändern angemessen.
Parser-Fehlermeldung : konnte nicht geladen werden Art 'MyNameSpace.MyPage'.
Quellfehler :
Zeile 1: <% @ Page Language = "C #" AutoEventWireup = "true" Code-Behind = "MyPage.aspx.cs" Inherits = "MyNameSpace.MyPage" %>
herausgefunden dass dies bedeutet, meine Code-behind zusammengestellt nicht, oder dass dass die Anwendung nicht die Montage finden. All mein „ist“ Verzeichnis enthält die .exe und PDB meiner ursprünglichen Anwendung - keine DLL für die ASPX
ich die Lösung versucht, angeboten in diese Frage und verified meine aspx und CS-Dateien für wurden markiert‚kompiliert‘Aktion bauen - ohne Erfolg.
Meine Frage ist: wie verursachen wir eine ASPX-Datei in einer regulären WinForm Anwendung zu kompilieren? Kann ich es tun, oder muss ich auf das Hinzufügen einer Web-Anwendung zu meiner Lösung greifen?
Lösung
Schauen Sie sich Cassini. Es ist ein Web-Server, der eine Weile zurück durch das ASP.NET-Team bauen wurde, ohne dass IIS Visual Studio zu debuggen Web-Anwendungen zu ermöglichen. Es ist auch ein Standalone-Web-Server. Die Quelle kann auf Dmitry Blog finden Sie unter http: // blogs .msdn.com / dmitryr / Archiv / 2006/03/09 / 548131.aspx