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