从CruiseControl.NET调用的MSBuild不';无法获取生成脚本更改

从CruiseControl.NET调用的MSBuild不';无法获取生成脚本更改,msbuild,cruisecontrol.net,Msbuild,Cruisecontrol.net,我们使用的是CruiseControl.NET,它调用MSBuild脚本。在调试构建脚本时,我们会不断进行一些小的更改,并通过在IIS上运行的CruiseControl.NET web控制台运行构建。因为我们只是在测试,所以所有的东西都在一台机器上 我注意到,我们在MSBuild脚本中所做的一些更改没有得到响应。有时他们推通过,有时服务器是一些过时的版本。有时重启IIS服务就可以做到这一点。有时甚至不起作用 有人知道背景中发生了什么吗?我们是否需要为web应用清除一些缓存?它可能在哪里 编辑:澄

我们使用的是CruiseControl.NET,它调用MSBuild脚本。在调试构建脚本时,我们会不断进行一些小的更改,并通过在IIS上运行的CruiseControl.NET web控制台运行构建。因为我们只是在测试,所以所有的东西都在一台机器上

我注意到,我们在MSBuild脚本中所做的一些更改没有得到响应。有时他们推通过,有时服务器是一些过时的版本。有时重启IIS服务就可以做到这一点。有时甚至不起作用

有人知道背景中发生了什么吗?我们是否需要为web应用清除一些缓存?它可能在哪里

编辑:澄清一下,我所有的东西都在一台机器上,因为我还在测试阶段。所以我认为源代码控制不应该成为一个问题。我的ccnet.config只调用MSBuild目标。下面是一个简化的示例:

<project>
    <tasks>
        <msbuild>
            <executable>$(netFrameworkRoot)\MSBuild.exe</executable>
            <projectFile>C:\MyProject\ProductBuild.proj</projectFile>
            <targets>BuildProject</targets>
        </msbuild>
    </tasks>
</project>

$(netFrameworkRoot)\MSBuild.exe
C:\MyProject\ProductBuild.proj
建筑工程
ProductBuild.proj是一个手工编码的MSBuild脚本,用于构建许多其他.NET解决方案,并使用vdproj打包安装程序


在CruiseControl上运行构建时,对构建脚本所做的更改似乎并不总是有效。我想重启CCNet服务是最安全的,但我希望我不必中断当前正在运行的构建。

“通过运行在IIS上的CruiseControl.NET web控制台运行构建”,据我所知,web控制台不进行任何构建。它会向ccnet.exe或ccservice.exe发送一条消息,该消息始终在端口21234上运行和侦听(除非指定到另一个端口),但为了解决您的问题,您的生成项目是否总是最新的?您的MSBuild文件是否在源代码管理中?您正在使用什么源代码管理?是否正在更改生成服务器上工作区中的MSBuild文件?您应该在这里发布一份项目副本,以便我们可以尝试确定错误?我可以告诉您,就CruiseCOntrol而言,IIS和web缓存与实际编译无关。除非您谈论的是正在构建的项目需要IIS?

对,否则Web控制台除了通过RMI调用操作之外,不应该与构建有任何关系。这是CruiseControl服务本身完成的。那么,服务是否会进行一些缓存呢?所有东西都在我的本地机器上,所以获取最新信息应该不是问题。