2010-07-16 79 views
0

环境:VS 2010,Windows 7中,TFSTFS和本地文件夹的权限问题

我有所谓的二进制文件的解决方案的Filder一个解决方法1(这是本地 计算机上的物理路径,说这是C:\二进制文件):我把所有外部assesmblies放在这个文件夹中。

在另一个溶液2,在该解决方案的每个类库项目,设置性财产>建设 - >输出路径为C:\二进制文件,使这些组件的最新版本,可以通过在解决方法1

任何项目中引用

它工作正常。

现在我把solution1和solution2放到TFS中,它们都在TFS源代码控制下,包括Binaries文件夹。

现在我再次打开解决方案2和构建溶液2,它给我的权限错误每个类库项目,如:

错误49无法复制文件“OBJ \调试\ mycomponent.dll”为” .. .. \二进制\ mycomponent.dll”。访问路径'.... \ Binaries \ mycomponent.dll'被拒绝。

但是,如果我检查Windows 7上的权限在c:\ Binaries,没有问题。 因此,VS 2010或TFS应该是错误的。

如何解决这个问题?

回答

1

尽管我不是源代码控制中的二进制文件的主要倡导者,但有一个解决方法。

  • 当你得到源代码时,你需要专门检查二进制文件(以启用写入访问)。

然而!如果你有多个开发人员工作,这将(​​默认情况下)对二进制文件进行独占锁定。他们将无法检出文件进行编辑。

这个解决方案是在Visual Studio 2010转到

Team->Team Project Collection Settings->Source Control File Types,找到“可执行文件”列表中。将文件合并更改为Enabled,您将可以在该文件上共享锁定。

另一种选择是要么不“搞定”你的二进制文件夹,或者,如果你得到它,“unget”它使用

tf get "$/blah/project/Binaries" /server:servername /version:C1 /overwrite /force 

你需要提供itempsec和服务器名。这将得到不存在的二进制文件的第一个版本,因此它将在本地删除它们并将它们标记为未得到(或检出)。

+0

我来这里寻找一种方法来在TFS中“取消”文件,并获得变更集1的技巧非常好,谢谢! – Oskar 2011-12-16 17:02:03