aspnet_compiler - Fortfahren trotz Fehler

Allgemeine Diskussion aspnet_compiler - Fortfahren trotz Fehler

  • Freitag, 15. Februar 2013 10:33
     
     

    Guten Tag,

    wir nutzen zum Vorkompilieren einer ASP-Anwendung die aspnet_compiler.exe in einem Batchskript, damit der erste Aufruf der Anwendung nicht ewig zum Kompilieren braucht. Wir übergeben dazu den virtuellen Pfad der Anwendung. Das klappt auch ganz toll, es sei denn, eine Anwendung hat irgendeine Seite, in der ein Error auftritt (was leider öfter mal vorkommen kann, meistens auf Seiten für Testzwecke o.ä.). Dann kommt nämlich eine Meldung über den Fehler und die Kompilierung bricht ab.

    Wir hätten es nun aber gerne so, dass der Kompilierungsvorgang fortgeführt wird, also die restlichen Seiten trotzdem kompiliert werden (gerne auch mit Ausgabe der aufgetretenen Fehler). Wie kann ich das anstellen? Gibt es irgendeine Einstellung, die ich mitgeben kann? Habe leider weder hier im Forum noch sonst im Internet was vernünftiges dazu gefunden.

    Vielen Dank im Voraus

Alle Antworten

  • Freitag, 15. Februar 2013 11:34
    Moderator
     
     

    Hi,

    wie soll der Compiler die Anwendung kompilieren, wenn in der Anwendung noch ein Fehler ist, der das Kompilieren verhindert?

    IMHO geht das nicht und das ist auch gut so. Was sollte die Anwendung denn dann auch machen? Den Codeteil rauslassen?


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

  • Freitag, 15. Februar 2013 11:54
     
     

    Es handelt sich ja nur um einen Fehler in einer Seite der ASP-Anwendung. Wenn man die Seiten manuell aufruft, funktioniert ja auch alles, d.h. es wird ja nicht zwangsläufig die komplette Anwendung kompiliert. Der Fehler kommt in dem Fall nur, wenn man die fehlerhafte Seite direkt aufruft. Und so sollten eben nur die Seiten vorkompiliert werden, die auch funktionieren, aber durch die fehlerhafte Seite sollte nicht der komplette Vorgang abgebrochen werden.

    Vielleicht noch ein Beispiel, eine Anwendung enthält drei Seiten:

    Beispiel1.aspx, Beispiel2.aspx, Beispiel3.aspx.

    Beispiel2.aspx enthält einen Fehler. Jetzt wird vorkompiliert, Beispiel1.aspx wird korrekt kompiliert, Beispiel2.aspx bricht mit Fehler ab, dadurch wird Beispiel3.aspx schon nicht mehr kompiliert (soll es aber).

    • Bearbeitet Lagospartner Freitag, 15. Februar 2013 11:56
    •  
  • Freitag, 15. Februar 2013 12:03
    Moderator
     
     

    Hi,

    ASP kanns nicht sein, wenn, dann ASP.NET. ASP hat mit ASP.NET bis auf die drei Buchstaben rein gar nichts gemeinsam.

    "Seite" in einer ASP.NET Anwendung kann je nach Projekttyp nicht einzeln kompiliert werden, da sämtlicher Code in eine zentrale Assembly kompiliert wird.

    Das, was Du meinst, geht nur bei Websiteprojekten, nicht bei Webanwendungsprojekten. Daher wäre es interessant zu wissen, welche Projektart Ihr verwendet.

    So oder so denke ich nicht, dass das geht, da aspnet_compiler keine entsprechenden Befehlszeilenschalter kennt.

      http://msdn.microsoft.com/de-de/library/ms229863.aspx


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

  • Freitag, 15. Februar 2013 12:17
     
     

    Okay, mein Fehler, ich dachte im ASP.NET-Forum und wenn es um aspnet_compiler geht, wäre es klar, dass es sich nicht um classic ASP dreht.

    Es geht um ASP.NET, Projektart ist eine ASP.NET-Website und die einzelnen Elemente/Seiten/Keine Ahnung wie man es nennen möchte, sind "Web Forms" (aspx-Endung eben).

    Das der aspnet_compiler dafür keine Befehlszeilenschalter kennt, soweit war ich schon (ich hatte mich vorher schon in MSDN und Internet belesen). Ich hatte irgendwie gehofft, dass ich irgendwas überlesen oder falsch verstanden hätte oder mir jemand, der schon vor einem ähnlichen Problem stand oder tiefer in der Materie drin steckt, einen hilfreichen Tipp dafür geben könnte.

  • Donnerstag, 21. Februar 2013 00:08
    Moderator
     
     

    Hi,

    sorry für die späte Antwort, ich hatte den Thread wohl aus den Augen verloren.

    Ich glaube nicht, dass es etwas gibt, das so etwas unterstützt.

    Du könntest höchstens versuchen, die Seiten so anzupassen, dass Du nicht mit Codebehind, sondern Inline Codeblöcken arbeitest (also innerhalb der Webform per <script runat="server">...</script>). Diese werden von aspnet_compiler in der Regel nicht vorkompiliert. Allerdings dürfte damit der von dir erhoffte Effekt der Performanceverbesserung des ersten Aufrufs flöten gehen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community