Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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 复制dll引用的本地失败,因为TFS使所有dll都为只读_Visual Studio_Tfs_Projects And Solutions - Fatal编程技术网

Visual studio 复制dll引用的本地失败,因为TFS使所有dll都为只读

Visual studio 复制dll引用的本地失败,因为TFS使所有dll都为只读,visual-studio,tfs,projects-and-solutions,Visual Studio,Tfs,Projects And Solutions,我刚刚将几个引用的DLL从一个项目的bin文件夹移到共享项目中的一个特殊库文件夹中。现在,由于VS试图将DLL从新位置复制到bin文件夹,因此出现了几个生成错误 我可以很容易地解决这个问题,方法是将构建文件夹中的DLL设置为读写,而不是默认的TFS只读,但如何在再次检入整个解决方案时防止问题再次出现 上面的评论是准确的-通常没有很好的理由签入二进制文件,至少在开发分支中没有。可能有一些合理的原因,比如何时需要根据生产中的内容审核二进制文件。如果他们不需要在那里,让TFS管理员对项目执行TF销毁,

我刚刚将几个引用的DLL从一个项目的bin文件夹移到共享项目中的一个特殊库文件夹中。现在,由于VS试图将DLL从新位置复制到bin文件夹,因此出现了几个生成错误


我可以很容易地解决这个问题,方法是将构建文件夹中的DLL设置为读写,而不是默认的TFS只读,但如何在再次检入整个解决方案时防止问题再次出现

上面的评论是准确的-通常没有很好的理由签入二进制文件,至少在开发分支中没有。可能有一些合理的原因,比如何时需要根据生产中的内容审核二进制文件。如果他们不需要在那里,让TFS管理员对项目执行TF销毁,然后小心不要再次签入

也就是说,如果你真的需要继续这样做,你将不得不做一些事情

首先,您需要在查找源文件时签出bin文件夹。这将使所有二进制文件都可写

但是,如果您这样做,默认情况下,TFS将对所有二进制文件设置独占锁。为了防止这种情况发生,您需要告诉TFS使这些文件能够合并。您需要是TFS中的管理员,或者让管理员执行以下步骤

在Visual Studio 2010中:

连接到TFS 在“团队”菜单下,选择“团队项目集合设置” 在此菜单下,选择源代码管理文件类型。这将打开一个对话框。 在对话框中,在列表中查找可执行文件,然后单击“编辑” 在下一个对话框中,选中“启用文件合并和多重检出” 单击“确定”关闭此对话框,单击“确定”关闭“文件类型”对话框。
现在,一次可以有多个用户签出可执行文件。

上面的评论是准确的-通常没有很好的理由签入二进制文件,至少不在开发分支中。可能有一些合理的原因,比如何时需要根据生产中的内容审核二进制文件。如果他们不需要在那里,让TFS管理员对项目执行TF销毁,然后小心不要再次签入

也就是说,如果你真的需要继续这样做,你将不得不做一些事情

首先,您需要在查找源文件时签出bin文件夹。这将使所有二进制文件都可写

但是,如果您这样做,默认情况下,TFS将对所有二进制文件设置独占锁。为了防止这种情况发生,您需要告诉TFS使这些文件能够合并。您需要是TFS中的管理员,或者让管理员执行以下步骤

在Visual Studio 2010中:

连接到TFS 在“团队”菜单下,选择“团队项目集合设置” 在此菜单下,选择源代码管理文件类型。这将打开一个对话框。 在对话框中,在列表中查找可执行文件,然后单击“编辑” 在下一个对话框中,选中“启用文件合并和多重检出” 单击“确定”关闭此对话框,单击“确定”关闭“文件类型”对话框。
现在,一次可以有多个用户签出可执行文件。

为什么要对bin文件夹的内容进行版本控制?在向vcs添加项目/解决方案时,生成的文件夹(如bin和obj)不会自动添加到版本控制中,这是有充分理由的。我认为这是因为项目的创建者将bin文件夹用于dll,他明确地将其置于源代码控制之下。为什么要将bin文件夹的内容置于版本控制之下?向vcs添加项目/解决方案时,生成的bin和obj等文件夹不会自动添加到版本控制中,这是有充分理由的。我认为这是因为项目的创建者将bin文件夹用于dll,他明确地将其置于源代码控制之下。