Windows Server 2003 x64 上的 CruiseControl.Net

发布于 2024-07-10 05:08:44 字数 2473 浏览 5 评论 0原文

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

干杯, Jamie

[编辑]

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

[Edit2]

我使用的是 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>

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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

二智少女 2024-07-17 05:08:44

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

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

貪欢 2024-07-17 05:08:44

澄清一下,网络仪表板功能是否不正确? 难道根本就没有显示出来吗?

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

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

发布你的 web.config。

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.

半世晨晓 2024-07-17 05:08:44

因为你只是想知道它是否有效......它确实有效。

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

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

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?

顾忌 2024-07-17 05:08:44

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

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

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"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文