我们正在使用 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>
ProductBuild.proj 是一个手动编码的 MSBuild 脚本,可构建许多其他 .NET 解决方案并将安装程序与 vdproj 打包在一起。
当我在 CruiseControl 上运行构建时,对构建脚本所做的更改似乎并不总是生效。我想重新启动 CCNet 服务是最安全的,但我希望不必中断当前正在运行的构建。