CruiseControl.NET - проблемы с IIS6 в Windows Server 2003

812
Richie086

Я пытаюсь запустить веб-панель Cruise Control.net на компьютере под управлением Windows Server 2003 с IIS6, и у меня возникает следующая ошибка при переходе на целевую страницу по умолчанию для этой панели:

Описание: во время обработки файла конфигурации, необходимого для обслуживания этого запроса, произошла ошибка. Пожалуйста, просмотрите подробности конкретной ошибки ниже и измените файл конфигурации соответствующим образом.

Сообщение об ошибке синтаксического анализатора: неверный формат файла «ThoughtWorks.CruiseControl.WebDashboard».

Ошибка источника:

Строка 8: Строка 9: Строка 10: Строка 11: Строка 12:

Исходный файл: C: \ CruiseControl \ Application \ webdashboard \ web.config
Строка: 10

Отслеживание загрузки сборки: следующая информация может быть полезна для определения, почему сборка 'ThoughtWorks.CruiseControl.WebDashboard' не может быть загружена.

=== Информация о состоянии предварительной привязки === LOG: DisplayName = ThoughtWorks.CruiseControl.WebDashboard (Partial) LOG: Appbase = file: /// C: / CruiseControl / Application / webdashboard LOG: Initial

PrivatePath = bin Вызывающая сборка: (неизвестно).

LOG: политика, не применяемая в настоящее время для ссылки (частная, пользовательская, частичная или привязка сборки на основе местоположения). LOG: Ссылка после политики: ThoughtWorks.CruiseControl.WebDashboard LOG: Попытка загрузки нового файла URL: /// C: /WINDOWS/Microsoft.NET/Framework/v1.1.4322/Временные файлы ASP.NET / cruisecontrol / c8c373af / 413fb329 /ThoughtWorks.CruiseControl.WebDashboard.DLL. LOG: Попытка загрузки нового файла URL: /// C: /WINDOWS/Microsoft.NET/Framework/v1.1.4322/Tevent ASP.NET Files / cruisecontrol / c8c373af / 413fb329 / ThoughtWorks.CruiseControl.WebDashboard / ThoughtWorks.CruCaseControl .DLL. LOG: Попытка загрузки нового файла URL: /// C: /CruiseControl/Application/webdashboard/bin/ThoughtWorks.CruiseControl.WebDashboard.DLL.

Как видите, ошибка говорит о том, что проблема в строке 8, 9, 10, 11, 12 из web.config - которая выглядит следующим образом:

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

Итак, эта та же самая конфигурация работает без каких-либо изменений в IIS7 или IIS7.5 в Windows 7 или Windows Server 2008. Я предполагаю, что основной причиной является какое-то объявление, которое не понято IIS6 - но я не уверен.

Кто-нибудь знает, как я могу реструктурировать свой файл web.config, чтобы я мог запустить Cruise Control.NET в IIS6?

Я должен также упомянуть, что я не добавил никаких фильтров ISAPI или чего-либо еще в мою конфигурацию IIS6. Я не уверен, если мне нужно зарегистрировать DLL в IIS6 или нет.

1

1 ответ на вопрос

1
Ƭᴇcʜιᴇ007

Похоже, что он пытается использовать .Net 1.1, в то время как более новые версии CruiseControl требуют .Net 2.0 (см. Здесь : «Требуется минимум .NET 2.0 или Mono 2.10»).

Вы также можете убедиться, что вы зарегистрировали .Net 2 в IIS. Вы можете сделать это, запустив aspnet_regiis.exeнайденный в \Windows\Microsoft.NET\Framework\v2.0.50727\.

Вот еще немного информации, обсуждающей установку CruiseControl.net в IIS6:

Настройка CruiseControl.NET для IIS 6.0

В инструменте IIS Admin вашей системы:

  1. Сопоставьте виртуальный каталог с подпапкой «webdashboard» вашей папки CCNet (обычно это называется ccnet)
  2. В конфигурации этого виртуального каталога нажмите кнопку «Конфигурация» на вкладке «Виртуальный каталог».
  3. Нажмите кнопку Добавить, чтобы добавить новое сопоставление приложений.
  4. В выполнимом введите местоположение aspnet_isapi.dllфайла, который вы используете (посмотрите на сопоставление .aspx в качестве примера. Типичное значение будет c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dllдля CruiseControl.NET версии 1.2.1 или более ранней или c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dllдля более поздних версий)
  5. В поле Extension введите .xml
  6. Убедитесь, что Script Engine проверен, и Проверка, что файл существует, не проверен
  7. При необходимости нажмите OK, чтобы сохранить изменения.
  8. На вкладке Документы виртуального каталога убедитесь, что default.aspx добавлен в качестве документа по умолчанию

Incase ошибки "Страница не может быть найдена"

Настройки безопасности в Windows 2003 запрещают ASP.NET ISAPI. Вот как вы должны решить это:

  1. Нажмите «Расширения веб-служб» в IIS.
  2. Выберите «Все неизвестные расширения ISAPI»
  3. Нажмите «Разрешить»
  4. Выберите «ASP.NET vx.x»
  5. Нажмите «Разрешить»
Отлично - спасибо, что нашел это для меня :) Richie086 11 лет назад 0

Похожие вопросы