Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.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
C# 我应该如何构造我的VSTS项目文件夹?_C#_Visual Studio_Tfs_Version Control_Azure Devops - Fatal编程技术网

C# 我应该如何构造我的VSTS项目文件夹?

C# 我应该如何构造我的VSTS项目文件夹?,c#,visual-studio,tfs,version-control,azure-devops,C#,Visual Studio,Tfs,Version Control,Azure Devops,我试图了解我应该如何构造我的TFS/VSTS文件夹和本地工作区/文件夹/映射等。我正在寻找一种可以遵循的最佳实践方法 目前,我的VSTS帐户中有两个项目: $/ProjectA +- Main +- ProjectA +- ProjectA +- ProjectA.sln $/ProjectB +- Main +- ProjectB +- ProjectB.sln 正如本文所建议的,我已经在项目的根目录下创建了一个“主”文件夹。因此,我能够创建分支,以备以

我试图了解我应该如何构造我的TFS/VSTS文件夹和本地工作区/文件夹/映射等。我正在寻找一种可以遵循的最佳实践方法

目前,我的VSTS帐户中有两个项目:

$/ProjectA
+- Main
  +- ProjectA 
    +- ProjectA
    +- ProjectA.sln 

$/ProjectB
+- Main
  +- ProjectB 
  +- ProjectB.sln 
正如本文所建议的,我已经在项目的根目录下创建了一个“主”文件夹。因此,我能够创建分支,以备以后需要

请注意,ProjectA还有一个名为ProjectA的附加文件夹,它是由Visual Studio在使用“新建项目向导”时创建的,并选中“添加到源代码管理”

关于ProjectB:首先,我创建了解决方案,但没有将其添加到源代码管理中。但随后将解决方案移动到本地映射的文件夹中。然后打开解决方案并选择“将解决方案添加到源代码管理”

我有一个工作空间,叫做“我的工作空间”。此工作区内的路径映射设置如下:

$/ProjectA ==> C:\Dev\Projects\ProjectA  
$/ProjectB ==> C:\Dev\Projects\ProjectB
注:这两个项目都与对方无关

问题:

  • 我应该如何在VSTS项目中构建文件夹?.sln文件应该驻留在哪个级别

  • 我应该如何构造本地文件夹和映射

  • 我应该使用一个包含所有项目映射的工作区,还是每个项目使用一个工作区?或者我应该像一些博客建议的那样,每个项目有多个工作区吗?(抱歉,无法再找到链接)


  • 我同意弗拉特的观点,这个问题完全是主观的

    然而,MSDN提供了使用服务器端结构和客户端结构的建议,并解释了分支文件夹和工作区

    解决方案和项目结构的策略

    三种最常用的策略用于构建解决方案和 项目文件包括:

    • 单一解决方案。如果您在一个小型系统上工作,请创建一个单一的解决方案,并将所有项目放在其中
    • 分区解决方案。如果您在大型系统上工作,请使用多个解决方案将相关项目分组在一起。为
      创建解决方案 从逻辑上对开发人员最喜欢的项目子集进行分组
      可能会作为一个集合进行修改,然后创建一个主解决方案来
      包含您的所有项目。这种方法减少了
      当您只需要时需要从源代码管理中提取的数据
      从事特定的项目
    • 多种解决方案。如果您在一个需要几十个或更多项目的大型系统上工作,请使用多种解决方案来工作
      在子系统上,但出于依赖关系映射和性能原因 不创建包含所有项目的主解决方案
    一般来说,你应该:

    • 使用单一解决方案策略,除非生成的解决方案太大而无法加载到Visual Studio中
    • 使用多个解决方案在应用程序的子系统上创建特定视图
    • 使用多个解决方案可以减少加载解决方案所需的时间,并减少开发人员的构建时间
    有关详细信息,请参阅以下链接:


    在某些情况下,您可以创建多个工作区,以隔离并在不同分支中进行的更改之间切换

    如果您使用的是本地工作区,那么通过切换到使用“
    one branch==one workspace
    ”,您可以看到一些性能优势。有关详细信息,请参阅phkelley的博客:


    您还可以参考jessehouwing关于如何使用工作区的回答:

    这完全取决于您。我在这里看到了许多不同的方法。有些使用单个.sln文件,有些使用多个(每个文件只加载本地相关的项目)。有些人将.sln文件放在顶层,另一些人根据其用途(前端、后端、库)将其细分到文件夹中。这个问题完全是主观的。