TFS-dll被用户锁定以便签出

时间:2011-11-03 16:52:49

标签: visual-studio-2010 tfs

TFS源代码管理下的2个项目。

  • DependancyProject.sln

  • AppProject.sln

使用AppProject引用DependancyProject。

-

我遇到的问题是AppProject中的Installer项目。 它将DependancyProject.dll作为“引用”(?),它试图将其包含在GAC中。

当我尝试构建这个项目时,要创建一个MSI来安装App,我收到错误

The item $/Assemblues/DependancyProject/bin/debug/DependancyProject.dll is locked for check-out by USER in workspace HIS-PC-NAME.

(有问题的PC没有死,没有使用)

这个dll不是(据我所见)签入Source Control。 当我浏览它时,它所引用的路径不存在(没有bin文件夹)。

DependancyProject几乎被Source Control中的每个项目引用,我从来没有遇到任何问题。 它构建,所有其他项目构建。 只是这一个安装程序项目没有。

我无法理解为什么无论如何都需要尝试修改它。 所有它需要做的(我假设)是复制它。

这里有什么想法吗?

3 个答案:

答案 0 :(得分:18)

某些文件在TFS中配置为“不可合并”,这意味着当对其进行更改时,它们将被锁定。默认列表包括各种二进制文件,包括.dll个文件。请注意,此锁定适用于所有挂起的更改 - 包括添加。

有问题的其他开发人员可能会意外地添加了他的bin目录 - 并且该目录中的任何二进制文件(即大多数)都会被锁定,因为它位于不可合并的列表中。

当这些项目被锁定时,您将无法挂起其他更改(包括在其他工作区中添加)。要打破此锁定,其他开发人员可以通过撤消挂起的更改来执行此操作,或者服务器管理员可以使用Team Foundation Server Power Tools中的“在源代码管理中查找”功能来执行此操作。

那就是说,我不知道为什么你的构建过程试图在该文件上添加一个添加内容。

答案 1 :(得分:5)

我遇到了同样的问题,this指南解决了我所有的问题。

该文件实际上是由我锁定的,但是在不同的工作空间(旧计算机)。

必须使用tf undo命令解锁文件。

答案 2 :(得分:0)

如果您不打算再次使用该工作区,可以通过转到工作区下拉,选择工作区并启用“显示远程工作区”复选框来删除它。然后,您可以选择并删除它。