CruiseControl.Net on Windows Server 2003 x64

倾然丶 夕夏残阳落幕 提交于 2019-12-10 18:15:49

问题


I'm having an issue with CruiseControl.net where the web dashboard just won't work in IIS. I have tried switching ASP.Net between 64 and 32 bit modes and reinstalling cruise control, but nothing seems to work. Has anyone else had issues with CruiseControl.Net on 64 bit platforms?

Cheers, Jamie

[Edit]

Thought I should clarify, I am getting a 404 error when I try access the website. I am using the correct address because it asks for authentication. The .aspx handler is working because I don't see the default.aspx page from the ccnet directory.

[Edit2]

I am using the default web.config that comes with ccnet, but here it is:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
    <!-- Change this if (for example) you want to keep your dashboard config file under source control -->
    <add key="DashboardConfigLocation" value="dashboard.config" />
</appSettings>

<system.web>
    <httpHandlers>
        <!-- Yes, we are overriding .aspx - don't delete this! We are using .aspx since we know it is already bound to ASP.NET. In future we might use a 
            different extension so that people can add their own ASP.NET pages if they want to, but we should make sure in that case to change how 
            URLs are created -->
        <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>
    <compilation defaultLanguage="c#" debug="true" />
    <customErrors mode="RemoteOnly" />
    <authentication mode="Windows" />
    <!--  APPLICATION-LEVEL TRACE LOGGING
        Application-level tracing enables trace log output for every page within an application. 
        Set trace enabled="true" to enable application trace logging.  If pageOutput="true", the
        trace information will be displayed at the bottom of each page.  Otherwise, you can view the 
        application trace log by browsing the "trace.axd" page from your web application
        root. 
    -->
    <trace
        enabled="false"
        requestLimit="10"
        pageOutput="true"
        traceMode="SortByTime"
        localOnly="true"
    />
    <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password="
        cookieless="false" timeout="20" />
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
</system.web>


回答1:


It seems I needed to enable Web Service Extensions for ASP.Net. I'm still not getting an ASP.Net tab in the cruise control website properties, but it is working.


C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727> or C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727> for 64 bit

Type aspnet_regiis.exe – i

ASP.NET will register itself and show up in Web Service Extensions




回答2:


Clarify a bit, does the web-dashboard function incorrectly? Does it not show up at all?

The webdashboard uses Nvelocity, not ASP.NET WebForms, so you have to register a custom HTTPHandler in the Web.config for it to work.

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

Post up your web.config.




回答3:


Since you just want to know whether it works... it does.

I'm running it on a 64-bit Windows Server 2008 without a problem.

So now we've established it works, perhaps you can describe your issue in more detail?




回答4:


Could not comment, I wanted to add this to the aswer to Adam: I had to use this command in CMD for Win2008 x64

"C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe" -s "W3SVC/1/ROOT/ccnet"


来源:https://stackoverflow.com/questions/335812/cruisecontrol-net-on-windows-server-2003-x64

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!