【问题标题】:CruiseControl.Net on Windows Server 2003 x64Windows Server 2003 x64 上的 CruiseControl.Net
【发布时间】:2008-12-02 23:29:30
【问题描述】:

我遇到了 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>

【问题讨论】:

    标签: cruisecontrol.net windows-server-2003 64-bit


    【解决方案1】:

    看来我需要为 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 服务扩展中

    【讨论】:

    • 谢谢你,这帮助很大!
    【解决方案2】:

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

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

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

    发布您的 web.config。

    【讨论】:

      【解决方案3】:

      既然你只是想知道它是否有效……它确实有效。

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

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 2013-04-16
          • 2011-10-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-17
          • 1970-01-01
          相关资源
          最近更新 更多