3

我正在尝试修改我的项目,以便在构建时查询本地目录的当前 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 命令提示符测试此命令时,它声称:

xxxxxxxx 没有工作文件夹映射

该文件夹显示为在 Visual Studio 的源代码管理资源管理器中的工作区中映射(显示为本地路径),以及当我编辑工作区时。

为什么命令行实用程序声称没有工作文件夹?

4

1 回答 1

4

如果您使用的是 Visual Studio 2012(和相应的 Team Explorer 2012 客户端)并且您使用tf.exe的是 Team Explorer 2010,您将看到此错误消息。

TFS 2010 客户端将其本地工作区缓存存储在与 TFS 2012 客户端不同的磁盘位置。因此,如果您要使用 TFS 2012 客户端创建工作区,则 TFS 2010 客户端在连接到服务器并填充其自己的本地客户端缓存之前无法看到该工作区数据。

听起来您可以使用 TFS 2012 版本tf.exe,所以我会确保您PATH首先包含该条目的条目,这应该可以解决您的问题。

如果您真的想要两个版本之间的互操作性,则需要确保从两个客户端连接到您的 TFS 服务器,以确保两个版本的工作区缓存都是完整的。但是,请确保在这种情况下您只使用服务器工作区,因为TFS 2010 无法连接到 TFS 2012 本地工作区

于 2013-05-06T16:22:21.103 回答