Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 TFS和本地文件夹权限问题_Visual Studio 2010 - Fatal编程技术网

Visual studio 2010 TFS和本地文件夹权限问题

Visual studio 2010 TFS和本地文件夹权限问题,visual-studio-2010,Visual Studio 2010,环境:VS 2010、Windows 7、TFS 我有一个名为Binaries的解决方案1和解决方案过滤器(这是本地服务器上的物理路径) 计算机,假设是c:\Binaries):我将所有外部资产放在这个文件夹中 在另一个解决方案2中,对于此解决方案中的每个类库项目,将property->build->Output path设置为c:\Binaries,以便解决方案1中的任何项目都可以引用这些程序集的最新版本 很好用 现在我把solution1和solution2放在TFS中,它们都在TFS源代码

环境:VS 2010、Windows 7、TFS

我有一个名为Binaries的解决方案1和解决方案过滤器(这是本地服务器上的物理路径) 计算机,假设是c:\Binaries):我将所有外部资产放在这个文件夹中

在另一个解决方案2中,对于此解决方案中的每个类库项目,将property->build->Output path设置为c:\Binaries,以便解决方案1中的任何项目都可以引用这些程序集的最新版本

很好用

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

现在我再次打开解决方案2并构建解决方案2,它为我提供了每个类库项目的权限错误,如:

错误49无法将文件“obj\Debug\mycomponent.dll”复制到“…\Binaries\mycomponent.dll”。对路径“..\Binaries\mycomponent.dll”的访问被拒绝

但是如果我在Windows7中检查c:\Binaries的权限,没有问题。 所以VS2010或TFS应该有问题


如何解决这个问题?

虽然我不是源代码管理中二进制文件的拥护者,但有一个解决方法

  • 当您获得源代码时,需要专门签出二进制文件(以启用写访问)
然而!如果有多个开发人员在工作,这将(默认情况下)对二进制文件设置独占锁。他们将无法签出文件进行编辑

解决方案是在VisualStudio2010中。去

Team->Team Project Collection Settings->Source Control File type
并在列表中查找“可执行文件”。将“文件合并”更改为“启用”,您将能够对文件拥有共享锁

另一个选项是不“获取”二进制文件文件夹,或者,如果确实获取了,则使用


您需要提供itempsec和servername。这将获得二进制文件的第一个版本,该版本不存在,因此它将在本地删除它们并将它们标记为未获取(或已签出)。

我来这里是为了寻找一种在TFS中“取消获取”文件的方法,获取更改集1的技巧非常有效,谢谢!
tf get "$/blah/project/Binaries" /server:servername /version:C1 /overwrite /force