Visual studio 复制dll引用的本地失败,因为TFS使所有dll都为只读
我刚刚将几个引用的DLL从一个项目的bin文件夹移到共享项目中的一个特殊库文件夹中。现在,由于VS试图将DLL从新位置复制到bin文件夹,因此出现了几个生成错误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设置为读写,而不是默认的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,他明确地将其置于源代码控制之下。