将解决scheme添加到Team Foundation Server 2010时显示警告

我刚刚与TFS 2010握手(从来没有运气与TFS 2008),我试图将我的第一个解决scheme添加到TFS。 不过,我收到以下警告消息:

您正试图添加到源代码pipe理的项目可能会导致其他源代码pipe理用户难以打开此解决scheme或获取其更新的版本。 为避免此问题,请从解决scheme中其他源受控项目的绑定根目录下的某个位置添加该项目。

有人可以向我解释这是什么意思,以及如何解决? 右键单击解决scheme资源pipe理器中的解决scheme并select“添加到源代码pipe理”时,会显示此警告。

你的解决scheme文件夹结构应该类似于

Solution Root folder | .sln solution file | Project1 folder | Project1.csproj (or .vbproj) | Project2 folder | Project2.csproj (or .vbproj) . . . 

如此Visual Studio论坛post(下面的链接)所述,基本问题是解决scheme中的项目位于解决scheme本身所在的子树之外。如果另一个用户映射不同的子树,这可能会导致问题在他的工作空间中不同于在签入的用户。交叉树引用将不再起作用。 该对话框只是一个警告,但如果您知道您的团队没有使用复杂的工作区映射分离代码树,则可以继续。

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

对我来说就是这样,我试图从另一个位置添加解决scheme。 然后我必须清理为其他位置创build的工作空间。

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

 File -> Source Control -> Advanced -> Workspaces... 

在“pipe理工作区”对话框中,select您的工作区,然后点击“编辑…”。 在“编辑工作区”对话框中清除“错误的”位置。

尝试再次添加解决scheme。

以下问题可以sympomatically显示您报告的错误。 请记住,引用的程序集不必位于TFS或工作站的文件系统中的任何特定位置。

一个根本的问题是某些types的项目默认为目标.NET Framework的“ 客户端 ”版本。 客户端版本去掉通常在可部署项目中不使用的程序集。 此外,您的项目引用的任何程序集也必须不引用由客户端configuration文件省略的程序集。

只需将项目的目标框架设置更改为完整的框架版本即可。

看看我的博客文章,关于这个问题: http : //thecurlybrace.blogspot.com/2010/09/visual-studio-wears-sabots.html