3

我遇到了 CruiseControl.net 的问题,其中 Web 仪表板无法在 IIS 中运行。我尝试在 64 位和 32 位模式之间切换 ASP.Net 并重新安装巡航控制,但似乎没有任何效果。还有其他人在 64 位平台上遇到过 CruiseControl.Net 的问题吗?

干杯,杰米

[编辑]

我想我应该澄清一下,当我尝试访问该网站时出现 404 错误。我使用了正确的地址,因为它要求进行身份验证。.aspx 处理程序正在工作,因为我在 ccnet 目录中看不到 default.aspx 页面。

[编辑2]

我使用的是 ccnet 附带的默认 web.config,但这里是:

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

4

4 回答 4

4

看来我需要为 ASP.Net 启用 Web 服务扩展。我仍然没有在巡航控制网站属性中获得 ASP.Net 选项卡,但它正在工作。


C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727> 或 C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727> 对于 64 位

键入 aspnet_regiis.exe – i

ASP.NET 将自己注册并显示在 Web 服务扩展中

于 2008-12-03T00:43:50.510 回答
1

澄清一下,网络仪表板功能不正确吗?它根本不显示吗?

webdashboard 使用 Nvelocity,而不是 ASP.NET WebForms,因此您必须在 Web.config 中注册一个自定义 HTTPHandler 才能使其工作。

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

发布您的 web.config。

于 2008-12-02T23:31:38.283 回答
0

因为您只想知道它是否有效……它确实有效。

我在 64 位 Windows Server 2008 上运行它没有问题。

所以现在我们已经确定它有效,也许您可​​以更详细地描述您的问题?

于 2008-12-02T23:37:13.280 回答
0

无法评论,我想将此添加到对亚当的回答中:我必须在 CMD 中使用此命令 for Win2008 x64

"C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe" -s "W3SVC/1/ROOT/ccnet"
于 2010-10-19T09:53:39.933 回答