如何构建共享项目

时间:2013-08-28 15:26:39

标签: .net visual-studio visual-studio-2012 tfs

Visual Studio警告将项目存储在不是解决方案子文件夹的目录中:

enter image description here

  

您尝试添加到源代码管理的项目可能会导致   其他源控制用户难以打开此解决方案或   获得它的新版本。要避免此问题,请添加项目   从另一个源控制的绑定根下面的位置   解决方案中的项目。

共享项目如何适应这种约束?例如。鉴于

$\BranchName\Project1Name\Project1.sln

$\BranchName\Project2Name\Project2.sln

我可以在哪里放

MyCompany.DataLayer.proj

1 个答案:

答案 0 :(得分:1)

在一些research之后,该选项可归结为基本上两个选项:

  
      
  1. 从共享位置引用代码
  2.   
  3. 分享共享代码
  4.   

共享位置:

  

使用此方法,您可以从共享位置映射源,例如   另一个团队项目进入开发计算机上的工作区。   这将创建一个统一来自的共享源的配置   与您的开发计算机上的项目代码共享位置。

     

这种方法的优点是对共享的任何更改   每次检索到最新版本时都会获取源   源于您的工作区。例如,考虑一个名为的团队项目   包含共享源的Common。从中引用代码   在此位置,您将两个团队项目映射到公共路径位置   你的开发计算机。

分支

  

使用此方法,您可以从公共团队分支共享代码   投射到您的团队项目中。这也创建了一个配置   统一来自共享位置和项目的源。

     

与此方法的不同之处在于共享源更改   拾取作为分支之间合并过程的一部分。这使得   决定更多地获取共享源中的更改   明确。您决定何时执行合并以获取最新信息   变化。

Further Info for Winforms.
Further Info for ASP.NET.

对于共享位置,不能不应该使用项目引用,这意味着您通过文件引用会丢失此类引用的advantages。我还没有尝试过,可以分支到$\BranchName\Project1Name\Project1.sln的子文件夹位置,并且能够安全地创建项目引用。

在MSDN上稍微掩饰的第三个选项是将所有sln文件放入分支的根文件夹中。然后将项目存储在根目录下的文件夹中。

显示此错误消息,让人们知道解决方案文件使用可能导致问题的相对路径 E.G。

<ProjectReference Include="..\..\Applications\DL\MyDL.csproj">

例如,如果其他开发人员要将解决方案映射到其硬盘上的其他物理位置:

"..\..\..\Applications\DL\MyDL.csproj"

...然后构建将在他们的机器上被破坏。就个人而言,我说更容易实现每个开发人员映射到同一物理位置的最佳实践:

C:\TFS并且这些东西都不应该引起关注。