VS2008和ClearCase:开放解决方案无缘无故地请求结账

Ala*_*ett 5 clearcase visual-studio-2008

我有一个小问题导致我的自动构建失败.

当我们打开最近从VS2005转换到VS2008 VS的解决方案时,通过ClearCase请求我们签出解决方案文件.

如果我们允许它,那么它无论如何都不会进行任何更改,默认情况下,ClearCase不喜欢没有更改的签名.所以我们撤消结帐 - 从那时起VS很高兴,它能够写出.suo文件.

如果我们取消读取保护解决方案文件,启动VS2008它会创建.suo文件,如果我们然后取消劫持.sln文件(无论如何都没有改变,因此VS2008没有注意到)并再次启动VS2008它很好 - 不要求结账.

在我的构建脚本中,我从视图中删除所有视图私有文件,然后使用强制取消劫持受控文件进行更新.然后我们构建部署项目(以及所有依赖项),并且当.suo文件被删除时,它每次都属于checkout .sln文件行为.

在构建服务器上,没有任何人看到对话框要求结帐,构建挂起.

我可以更改(也就是bodge)构建脚本以不删除.suo文件,但我宁愿不这样做.

编辑:澄清 - .suo文件未检入ClearClase - 它是由VS2008创建的视图专用文件,但是为了创建此文件,它想要检查.sln文件是不是真正的原因.

进一步编辑:

我找到了解决方案 - 我根据我在这个帖子上的后续帖子禁用了集成.

Ala*_*ett 4

好吧,我找到了问题的解决方案,而且实际上很简单。

我在生成服务器上禁用了 Visual Studio ClearCase 集成。

使用 VS 是因为我们需要构建部署项目,因此我们调用 devenv 来为我们完成此操作。然而,我们仅将其用作构建引擎,构建引擎永远不需要知道如何修改源项,因为它们都来自 ClearCase。我们允许构建服务器修改的唯一项目是 AssemblyInfo 文件中的程序集文件版本号属性,但我们是在 NAnt 中而不是在 Visual Studio 中执行此操作。

因此,禁用该功能,问题就会消失。可能不是适合所有人的解决方案,但在构建服务器上它是前进的方向。