我正在尝试修改我的项目,以便在构建时查询本地目录的当前TFS变更集,并使用它来形成构建号(使用http://florent.clairambault.fr/insert-svn-version-and-build-number-in-your-c-assemblyinfo-file作为参考)。
由于我们目前不使用团队构建或此特定项目的任何持续集成,我计划使用:
tf history . /r /noprompt /stopafter:1 /version:W
但是,当我直接在我的项目中使用visual studio命令提示符(我在TFS工作的地方)测试此命令时,它声称:
xxxxxxxx没有工作文件夹映射
该文件夹在Visual Studio的源代码管理资源管理器中显示为我的工作区中的映射(显示为本地路径),以及编辑工作区时的文件夹。
为什么命令行实用程序声称没有工作文件夹?
答案 0 :(得分:4)
如果您使用的是Visual Studio 2012(以及相应的Team Explorer 2012客户端),并且您正在使用Team Explorer 2010中的tf.exe
,则会看到此错误消息。
TFS 2010客户端将其本地工作区缓存存储在磁盘上与TFS 2012客户端不同的位置。因此,如果要使用TFS 2012客户端创建工作区,则TFS 2010客户端在连接到服务器并填充其自己的本地客户端缓存之前无法看到该工作区数据。
使用TFS 2012版本的tf.exe
听起来你没问题,所以我会确保你的PATH
首先包含一个条目,这应该可以解决你的问题。
如果您真的想要两个版本之间的互操作性,则需要确保从两个客户端连接到TFS服务器,以确保两者的工作区缓存都已完成。但请确保在这种情况下使用仅服务器工作区,为TFS 2010 cannot connect to a TFS 2012 local workspace。