CruiseControl.NET - Probleme mit IIS6 unter Windows Server 2003

883
Richie086

Ich versuche, das Cruise Control.net-Webdashboard auf einem Windows Server 2003-Computer mit IIS6 auszuführen, und ich bekomme den folgenden Fehler, wenn ich zur Standard-Zielseite für das Dashboard gehe:

Beschreibung: Bei der Verarbeitung einer Konfigurationsdatei, die zur Bearbeitung dieser Anforderung erforderlich ist, ist ein Fehler aufgetreten. Bitte überprüfen Sie die spezifischen Fehlerdetails und ändern Sie die Konfigurationsdatei entsprechend.

Parser-Fehlermeldung: Das Format der Datei 'ThoughtWorks.CruiseControl.WebDashboard' ist ungültig.

Quellfehler:

Zeile 8: Zeile 9: Zeile 10: Zeile 11: Zeile 12:

Quelldatei: C: \ CruiseControl \ Application \ webdashboard \ web.config
Zeile: 10

Assembly Load Trace: Die folgenden Informationen können hilfreich sein, um festzustellen, warum die Assembly 'ThoughtWorks.CruiseControl.WebDashboard' nicht geladen werden konnte.

=== Statusinformationen vor dem Binden === LOG: DisplayName = ThoughtWorks.CruiseControl.WebDashboard (Teilweise) LOG: Appbase = Datei: /// C: / CruiseControl / Application / Webdashboard LOG: Anfänglich

PrivatePath = bin Assembly aufrufen: (unbekannt).

LOG: Die Richtlinie wird derzeit nicht auf Verweise angewendet (private, benutzerdefinierte, teilweise oder ortsbasierte Assemblybindung). LOG: Nach-Richtlinienreferenz: ThoughtWorks.CruiseControl.WebDashboard LOG: Der Download einer neuen URL-Datei wird versucht: /// C: /WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET-Dateien / cruisecontrol / c8c373af / 413fb329 /ThoughtWorks.CruiseControl.WebDashboard.DLL. LOG: Versuch des Herunterladens einer neuen URL-Datei: /// C: /WINDOWS/Microsoft.NET/Framework/v1.1.4322/ Temporäre ASP.NET-Dateien / cruisecontrol / c8c373af / 413fb329 / ThoughtWorks.CruiseControl.WebDashboard / ThoughtWorks.CruiseControl.WebData .DLL. LOG: Der Download einer neuen URL-Datei wird versucht: /// C: /CruiseControl/Application/webdashboard/bin/ThoughtWorks.CruiseControl.WebDashboard.DLL.

Wie Sie sehen, heißt es in der Fehlermeldung: Zeile 8, 9, 10, 11, 12 aus der Datei web.config. Diese sieht folgendermaßen aus:

<system.web> <httpHandlers> <add verb="*" path="*.aspx" type="ThoughtWorks.CruiseControl.WebDashboard.MVC.ASPNET.HttpHandler,ThoughtWorks.CruiseControl.WebDashboard"/> <add verb="*" path="*.xml" type="ThoughtWorks.CruiseControl.WebDashboard.MVC.ASPNET.HttpHandler,ThoughtWorks.CruiseControl.WebDashboard"/> </httpHandlers>  

Dieselbe exakte Konfiguration funktioniert also ohne Änderung in IIS7 oder IIS7.5 unter Windows 7 oder Windows Server 2008. Ich schätze, die Hauptursache ist eine Erklärung, die von IIS6 nicht verstanden wird - aber ich bin nicht sicher.

Weiß jemand, wie ich meine web.config-Datei umstrukturieren kann, um Cruise Control.NET in IIS6 auszuführen?

Ich sollte auch erwähnen, dass ich meiner IIS6-Konfiguration weder ISAPI-Filter noch irgendetwas hinzugefügt habe. Ich bin nicht sicher, ob ich die DLLs bei IIS6 registrieren muss oder nicht.

1

1 Antwort auf die Frage

1
Ƭᴇcʜιᴇ007

Sieht so aus, als würde sie versuchen, .Net 1.1 zu verwenden, während neuere Versionen von CruiseControl .Net 2.0 erfordern (siehe hier : "Erforderlich ist mindestens .NET 2.0 oder Mono 2.10").

Möglicherweise möchten Sie auch sicherstellen, dass Sie .Net 2 bei IIS registriert haben. Sie können dies tun, indem Sie das aspnet_regiis.exeErgebnis in ausführen\Windows\Microsoft.NET\Framework\v2.0.50727\ .

Hier sind einige weitere Infos Installation von CruiseControl.net in IIS6:

CruiseControl.NET für IIS 6.0 konfigurieren

Im IIS-Admin-Tool Ihres Systems:

  1. Ordnen Sie dem Unterordner 'webdashboard' Ihres CCNet-Ordners ein virtuelles Verzeichnis zu (normalerweise als ccnet bezeichnet).
  2. Klicken Sie in der Konfiguration für dieses virtuelle Verzeichnis auf die Registerkarte Konfiguration der Registerkarte Virtuelles Verzeichnis
  3. Klicken Sie auf Hinzufügen, um eine neue Anwendungszuordnung hinzuzufügen
  4. aspnet_isapi.dllGeben Sie in Executable den Speicherort der von Ihnen verwendeten Datei ein (sehen Sie sich die ASPX-Zuordnung als Beispiel an. Ein typischer Wert wäre c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dllCruiseControl.NET Version 1.2.1 oder früher oder c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dllfür spätere Versionen.)
  5. Geben Sie unter Erweiterung ein .xml
  6. Stellen Sie sicher, dass die Skript-Engine aktiviert ist, und prüfen Sie, ob die Datei vorhanden ist
  7. Klicken Sie nach Bedarf auf OK, um Ihre Änderungen zu speichern
  8. Stellen Sie auf der Registerkarte Dokumente des virtuellen Verzeichnisses sicher, dass default.aspx als Standarddokument hinzugefügt wird

Fehler "Seite konnte nicht gefunden werden"

Die Sicherheitseinstellungen in Windows 2003 verbieten ASP.NET ISAPI. So sollten Sie das lösen:

  1. Klicken Sie in IIS auf "Web Service Extensions"
  2. Wählen Sie "Alle unbekannten ISAPI-Erweiterungen" aus.
  3. Klicken Sie auf "Zulassen".
  4. Wählen Sie "ASP.NET vx.x" aus.
  5. Klicken Sie auf "Zulassen".
Perfekt - danke, dass du das für mich gesucht hast :) Richie086 vor 11 Jahren 0