【发布时间】:2011-08-18 19:28:33
【问题描述】:
问题
我正在将构建移植到 CC.Net 的较新版本(从 1.4.4 到最近的 1.6 版本)。以前的构建混合了<msbuild /> 标记和<exec /> 标记,这些标记调用批处理文件,其中包含tf.exe 命令。
构建必须依赖于msbuild 和tf.exe 命令之间相同的源代码控制版本,因为现在我在tf.exe 命令上收到错误:
无法确定工作区。
当我启动命令提示符时,使用 runas 作为服务使用的同一用户,并调用批处理文件使用的同一命令(来自同一目录),我得到同样的错误。
但是,如果我使用 runas 启动 Visual Studio 2010 命令提示符并调用该命令(从同一目录),我不会收到错误消息。
这也是有道理的,因为%UserProfile%\Local Settings\Application Data\Microsoft\Team Foundation\3.0\Cache\VersionControl.config 文件有工作区映射,而...\1.0\Cache\VersionControl.config 文件没有。
我想尝试的解决方案
我不能简单地更改批处理文件的 PATH,因为由于许可,它实际上需要针对旧版本的 Visual Studio 构建。
我想我可以通过指定与<msbuild /> 标签一起使用的 TFS/msbuild 版本来解决这个问题。但我不知道该怎么做。我认为这将是某种服务器配置,但我在文档中没有找到任何关于此的内容。
我的问题是:如何指定 Cruise Control 用于<msbuild /> 标签的 TFS 版本?还是有其他方法可以解决这个问题?
【问题讨论】:
标签: tfs msbuild cruisecontrol.net