Visual studio 2010 更多信息:帮助构建VS2010解决方案/项目和TFS2010

Visual studio 2010 更多信息:帮助构建VS2010解决方案/项目和TFS2010,visual-studio-2010,projects-and-solutions,structure,Visual Studio 2010,Projects And Solutions,Structure,这是上一篇文章的后续文章(帮助构建VS2010解决方案/项目和TFS2010) 关于如何构建VS2010解决方案和项目以实现最佳组织,以及如何节省和使用TFS2010,我们有一些问题 目前,我们的代码结构如下: /OverallAppName OverallAppName.sln -/Client - -/WindowsFormsProject1 WindowsFormsProject1.sln - -/WindowsFormsProject2 Windows

这是上一篇文章的后续文章(帮助构建VS2010解决方案/项目和TFS2010)

关于如何构建VS2010解决方案和项目以实现最佳组织,以及如何节省和使用TFS2010,我们有一些问题

目前,我们的代码结构如下:

/OverallAppName  
OverallAppName.sln  
-/Client  
-    -/WindowsFormsProject1  
WindowsFormsProject1.sln  
-    -/WindowsFormsProject2  
WindowsFormsProject2.sln  
-/Components  
-    -/ClassLibrary1 (common library referenced by other projects)  
ClassLibrary1.sln  
-    -/ClassLibrary2  
ClassLibrary2.sln  
-    -/ClassLibrary3  
ClassLibrary3.sln  
-    -/ClassLibrary4  
ClassLibrary4.sln  
-    -/ClassLibrary5  
ClassLibrary5.sln  
-/Server  
-    -/WindowsServiceProject1  
WindowsServiceProject1.sln  
-    -/WindowsServiceProject2  
    WindowsServiceProject2.sln  
-    -/WebProject1  
    WebProject1.sln  
-    -/WebProject2  
    WebProject2.sln  
由于目前我们正处于从VSS向TFS2010过渡的过程中,我们希望将我们的所有解决方案/项目构建为最高效、最合理、最易于维护、最易于参考、最易于使用和内置于TFS2010的解决方案/项目,我们需要一些关于“最佳”的建议使用分区解决方案模型构造所有内容的方法

有什么建议吗?????我们如何将所有这些不同类型的VS2010项目组织到一个逻辑结构中,使不同的组可以处理单个项目(而不是整个解决方案),我们仍然可以有项目引用,我们可以存储在TFS2010中并在其中构建和分支,并遵循“推荐的最佳实践”

谢谢。
(很抱歉,我不确定格式是否很好。)

虽然我很钦佩您致力于将所有内容都作为一个大型解决方案,但我认为如果坚持这一点,TFS在自动化构建领域提供的一些最佳功能将被击败

我之所以这么说,是因为您可以使用签入触发的构建来立即构建代码以证明其工作(或者更好的是,使用门控签入)。这些构建的有用性与运行时间成反比。因此,如果您有一个需要20分钟构建的大型解决方案,那么它将失去这些构建类型的优势。但是,如果您有几个较小的解决方案,每个解决方案大约需要5分钟,那么您只能在签入的基础上获得修改后的解决方案,并且可以更快地了解结果

根据上面列出的内容,我倾向于为每一组可以单独发布的人工制品提供一个解决方案。在您的示例中,可能每个客户端一个,每个web应用程序一个,所有公共库一个

就文件夹结构而言,它与上面的内容不会有太大的不同(假设我的解释正确)

公共库仍然可以作为项目引用添加到服务器和客户端解决方案中。我已经为常见项目引入了一些新文件夹,如代码签名密钥和引用的第三方程序集(如企业库)

除此之外,您还需要采用某种分支策略来保持Main、Dev和Release代码分支的分离。为此,我建议您稍微阅读一下codeplex上的ALM Rangers分支指南。

可能的重复项看起来像是重复项,而不是后续项。请说明为什么这不是一个重复的问题。第一篇文章是关于VisualStudioTeam Foundation Server文档中团队开发中提供的信息/示例的。只是想了解微软的建议,以及其他问题。这篇文章专门介绍我们当前的代码库,以及如何以“最佳”的方式构建它。类似的话题,但不同。我不想把它全部放在一个帖子里,因为它会很长,可能会让人困惑。这就是为什么这篇文章是一篇后续文章的原因。以前有人问过这个问题。我很难理解这与你之前的问题有多大不同。当我说本质上不同时,我的意思是我不明白为什么两者不能结合。
/OverallApplication
    /Clients
        /Client1
            -Client1.sln
            /Client1Project1
                -Client1Project1.csproj
            /Client1Project2
                -Client1Project1.csproj
            ...
         ...
    /Components
         -Components.sln
         /ClassLibrary1
             -ClassLibrary1.csproj
         /ClassLibrary2
             -ClassLibrary2.csproj
         ...
    /Server
        /WebApp1
            -WebApp1.sln
            /WebApp1Project1
                -WebApp1Project1.csproj
            /WebApp1Project2
                -WebApp1Project1.csproj
            ...
         ...     
    /CodeSigningKey
        -KeyPair.snk
    /ReferencedAssemblies
        /Manufacturer1
            -Manufacturer1Assembly1.dll
            ...
        ...