1

我们有一个 TFS C# 集合,其中包含这样的项目:

OurCollection OurControls OurDBFuntions OurCommonCode Project1 Project2

构建 Project1 或 Project2 需要构建所有“我们的”项目。TFS 不会让我在 OurCollection 空间中创建构建定义 - 它要求我在项目空间之一中。但我无法从存储库加载以获取所有“我们的”内容,以便 Project1 或 Project2 可以编译、链接和完成。该配置具有指向所有“我们的”项目的链接,并要求它们在构建 Project1 或 Project2 之前构建,但 sln 和所有其他源文件不会从存储库下载,并且路径仅限于 $/Project1 的子文件夹。

我能完成我需要做的事情吗?

谢谢,托尼

++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++

我们有几个项目——“我们的……” 作为 DLL 构建的项目,作为引用链接。每一个“我们的……” 项目有自己的解决方案,需要在我们的Project1构建之前构建。配置管理器将它们标记为构建,我们有一个构建顺序。当我创建一个构建定义时,它让我指向 Project1 文件夹中的一个解决方案 - 到目前为止它有效。但它不会从其他项目的源代码管理中下载。所以指定的配置找不到“我们的……” 解决方案,然后 Project1 构建找不到引用,一切都失败了。

我基本上需要将文件夹设置为集合级别,这样我就可以从源代码管理中获取所有项目,而不仅仅是 Project1。

我不确定“共享项目”功能是什么,并且在任何文档中都找不到有关如何设置构建定义的参考。

谢谢,托尼

++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++

我正在尝试创建一个新的 TFS 2015 构建定义。. . 为了清楚起见,这是我的层次结构

我们的收藏

  1. 团队项目 OurControls
  2. 团队项目 OurDBFunctions
  3. 团队项目 OurCommonCode
  4. 团队项目项目1
    1. 项目GUI
    2. 项目规则
    3. 项目数据库访问
  5. 团队项目 Project2

我的一个问题是,在构建定义中,当我转到源设置并尝试添加引用的解决方案路径时,它只会添加低于 TEAM Project1 级别的路径。我无法返回并在 OurCollection 中添加到不同团队项目的路径。它只允许我在层次结构中的 Team Project Project1 路径下方添加一个引用的解决方案路径。

因此,如果我将 Team Project OurControls 解决方案移动到 TEAM Project Project1 下,现在我可以添加它。但是 TEAM Project Project2 不能。

其他几篇文章似乎表明在集合级别设置构建定义。当我尝试这样做时,它不会让我 - 我必须选择一个 TEAM 项目。一旦我选择了一个 TEAM 项目,我就被困在了那棵树上。

所以也许问题是 - 我如何在集合级别创建构建定义?当我转到服务器:8080/TFS/OurCollection 时,我没有得到构建选项卡。我必须去 server:8080/TFS/OurCollection/Project1 来获得一个 Build 选项卡。

感谢您的帮助,托尼

4

1 回答 1

0

您可以尝试使用以下文件夹结构

 C#Collection
   OurCollection (project)
   OurControls   (project)
   OurDBFuntions (project)
   OurCommonCode (project)
   Solution1  (sln including project1)
   Solution2  (sln including project1)

“我们的项目”可以在多个 Visual Studio 解决方案之间共享。它们不需要添加到解决方案中,您可以使用“共享项目”功能,只需通过“添加现有项目”来添加它们。然后,您可以为解决方案 1 创建一个定义,并通过选择解决方案 1 成功构建项目 1。

 Soulution1
    OurCollection (project)
    OurControls   (project)
    OurDBFuntions (project)
    OurCommonCode (project)
    project1
于 2015-12-14T09:51:58.203 回答