【问题标题】:TFS and local folder permission problemTFS和本地文件夹权限问题
【发布时间】:2010-07-16 14:26:24
【问题描述】:

环境:VS 2010、Windows 7、TFS

我有一个名为 Binaries 的解决方案 1 文件(这是本地的物理路径 计算机,说它是 c:\Binaries):我把所有外部程序集放在这个文件夹中。

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

一切正常。

现在我将解决方案 1 和解决方案 2 放到 TFS 中,它们都在 TFS 源代码控制下,包括 Binaries 文件夹。

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

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

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

如何解决这个问题?

【问题讨论】:

    标签: visual-studio-2010


    【解决方案1】:

    虽然我不是您的源代码管理中二进制文件的大力倡导者,但有一个解决方法。

    • 获得源代码后,您需要专门检查二进制文件(以启用写入访问权限)。

    但是!如果您有多个开发人员在工作,这将(​​默认情况下)对二进制文件设置排他锁。他们将无法签出文件进行编辑。

    解决方案在 Visual Studio 2010 中。转到

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

    另一种选择是不“获取”您的二进制文件夹,或者,如果您确实获取了它,则使用“取消”它

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

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

    【讨论】:

    • 我来这里是为了寻找一种在 TFS 中“取消”文件的方法,并且获取变更集 1 的技巧非常有效,谢谢!
    猜你喜欢
    • 2017-06-23
    • 1970-01-01
    • 2011-09-17
    • 2011-11-14
    • 2011-01-11
    • 2018-10-07
    • 2012-08-27
    • 2018-04-08
    • 2016-09-21
    相关资源
    最近更新 更多