向 Team Foundation Server 2010 添加解决方案时显示的警告

62

我正在学习使用TFS 2010(之前用TFS 2008没什么好运气),尝试将我的第一个解决方案添加到TFS中。但是,我收到了以下警告消息:

您要添加到源代码控制的项目可能会导致其他源代码控制用户难以打开此解决方案或获取更新版本。为避免此问题,请从其他已受控制的解决方案中绑定根目录以下的位置添加项目。

能否有人向我解释一下这是什么意思以及如何解决?当右键单击解决方案资源管理器中的解决方案并选择“添加到源代码控制”时,会显示此警告。


刚遇到了同样的问题,现在我知道了 :) - Metro Smurf
4个回答

52

您的解决方案文件夹结构应该类似于:

Solution Root folder
├── .sln solution file       
│
├── Project1 folder
│   └── Project1.csproj   (or .vbproj)
│
├── Project2 folder
│   └── Project2.csproj   (or .vbproj)
.
.
.

7
这个结构如何适用于两个解决方案,它们在一个项目之间共享(该项目位于根目录之外),并使得每个解决方案都能够绑定该项目? - dougajmcdonald
@CoffeeAddict:拥有一个合理的解决方案/项目结构与你使用的源代码控制工具关系不大。仅仅因为某个工具让你做某件事情并不意味着这是一个好主意! - Mitch Wheat
2
@Mitch,我的意思是说,你的源代码控制不应该限制你。它不应该妨碍你。我使用过TFS和Subversion,我可以告诉你,当我说TFS会抱怨一些不该抱怨的东西时,我并不孤单,所以总体体验是有摩擦的,而不是无摩擦的。一个好的源代码控制既强大又易用。TFS不是这样的...如果你是一个微软商店,你必须摆脱“必须使用微软的一切”的思维定势,尝试一些不同的源代码控制方式,这样你才能看到TFS的问题。许多微软商店因为我所说的原因而讨厌TFS。 - PositiveGuy
4
在TFS中,任何人都需要发布有关此问题的帖子都是完全荒谬的。您应该能够在任何地方添加文件夹,源代码控制不应该对此有任何问题。该工具应该为您服务,而不是反对您或强制使用荒谬的模式。 - PositiveGuy
“应该能够在任何地方添加文件夹,源代码控制也不应该有问题。”这是不正确的。拥有一个众所周知、一致的结构是一个好主意,而且几乎被普遍接受。从各个地方添加部分是一个非常糟糕的想法。约定优于配置等等…… - Mitch Wheat
3
我从未说过不需要一个良好的结构。你所说的"众所周知"是指所有TFS用户都知道吗?这对于TFS用户来说很好,但你不应该被强制采用特定的排列方式或模式。团队应该能够提出自己的约定,而不必担心TFS会唠叨或否决它。我没有说要从各种地方添加内容。有其他更合理的结构,而且并不一定需要将所有内容都放在一个树形结构中...相信我。 - PositiveGuy

7
如此Visual Studio论坛帖子所述(下面是链接),基本问题在于解决方案中的项目位于解决方案本身所在的子树之外。如果另一个用户在他的工作区中以不同的方式映射不同的子树,则可能会导致问题。跨树引用将不再起作用。该对话框仅是警告,但如果您知道团队不会使用复杂的工作区映射分割代码树,则可以继续。

https://social.msdn.microsoft.com/Forums/vstudio/en-US/29579a28-9de0-4fc6-a253-b38191aa4fdc/must-projects-be-added-under-binding-root-of-solution?forum=tfsversioncontrol


5

对我来说,我尝试添加来自另一个位置的解决方案。然后,我必须清理为其他位置创建的工作空间。

对于Visual Studio 2013,您可以在以下位置找到工作区设置:

File -> Source Control -> Advanced -> Workspaces...
  1. 在“管理工作区”对话框中选择您要使用的工作区
  2. 点击“编辑…”
  3. 在“编辑工作区 <yourworkspacename>”对话框中
  4. 清除“错误”的位置

尝试重新添加解决方案。


0
以下问题可能会表现出您报告的错误。请记住,引用的程序集不需要在TFS或您工作站的文件系统中的任何特定位置中。
潜在的问题是,某些类型的项目默认为目标.NET Framework的“Client”版本。客户端版本会剥离通常不用于可部署项目的程序集。此外,您的项目引用的任何程序集也不能引用被“Client”配置文件省略的程序集。
只需将您的项目的目标框架设置更改为完整的框架版本即可。
请查看我的博客文章,有关此问题: http://thecurlybrace.blogspot.com/2010/09/visual-studio-wears-sabots.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接