首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个团队项目的团队生成

具有多个团队项目的团队生成
EN

Stack Overflow用户
提问于 2009-10-27 20:47:52
回答 3查看 1.9K关注 0票数 5

我得到了以下结构:

代码语言:javascript
复制
$
--TeamProject1
---Solution1.sln
----TestProject1
--TeamProject2
---Solution2.sln
----TestProject2

在TestProject1中,我添加了TestProject2.dll作为引用(不是项目引用,而是文件引用)。我的问题是:如何构建引用属于不同团队项目的程序集的解决方案?

我得到了包含以下信息的TFSBuild.proj文件:

代码语言:javascript
复制
<TfCommand>$(TeamBuildRefPath)\..\tf.exe</TfCommand>

<SolutionToBuild Include="$(BuildProjectFolderPath)/../../DEV/TeamProject1.sln">
    <Targets></Targets>
    <Properties></Properties>
</SolutionToBuild>

代码语言:javascript
复制
<Map Include="$/TeamProject1">

  <LocalPath>$(SolutionRoot)</LocalPath>

</Map>

<Map Include="$/TeamProject2">

  <LocalPath>$(SolutionRoot)</LocalPath>

</Map>

代码语言:javascript
复制
<Target Name="BeforeGet">
    <DeleteWorkspaceTask TeamFoundationServerUrl="$(TeamFoundationServerUrl)" Name="$(WorkspaceName)" />
    <Exec WorkingDirectory="$(SolutionRoot)" Command="&quot;$(TfCommand)&quot; workspace /new $(WorkspaceName) /server:$(TeamFoundationServerUrl)" />
    <Exec WorkingDirectory="$(SolutionRoot)" Command="&quot;$(TfCommand)&quot; workfold /unmap /workspace:$(WorkSpaceName) &quot;$(SolutionRoot)&quot;" />
    <Exec WorkingDirectory="$(SolutionRoot)" Command="&quot;$(TfCommand)&quot; workfold /map /workspace:$(WorkSpaceName) /server:$(TeamFoundationServerUrl) &quot;%(Map.Identity)&quot; &quot;%(Map.LocalPath)&quot;" />
  </Target>

提前谢谢。

小苏

EN

回答 3

Stack Overflow用户

发布于 2010-07-11 15:00:32

引用official TFS guide on CodePlex

如果在团队项目之间共享源代码或二进制文件,则有两种选择:

  • Branching.使用这种方法,您可以将其他团队项目中的源代码分支到当前解决方案中。这将创建一个配置,将来自共享位置的源和server-side.
  • Workspace映射上的项目统一起来。使用此方法,可以将其他团队项目中的源映射到开发计算机上的工作区中。这将创建一个配置,该配置统一了来自其他团队项目和client-side.

上的项目的源

分支是首选方法,因为它将依赖关系存储在源代码管理服务器上。工作区映射是一种仅限客户端的方法,这意味着您和每个开发人员必须在自己的计算机上以及构建服务器上创建映射,才能成功构建应用程序。

分支增加了额外的合并开销,但它使您能够更明确地选择更新的二进制文件或源文件。

票数 4
EN

Stack Overflow用户

发布于 2009-10-27 21:38:01

AFAIK这是不可能的,而且在开发人员的机器上会有问题。文件引用是一种可行的方法。我通常这样组织项目:

代码语言:javascript
复制
$
-- TeamProject1
   -- branches
   -- trunk
      Solution1.sln
      -- lib
         TestProject2.dll
      -- src
      -- test
         TestProject1.csproj references TestProject2.dll from lib

-- TeamProject2
   -- branches
   -- trunk
      Solution2.sln
      -- lib
      -- src
      -- test
         TestProject2.csproj

通过这种方式,TeamProject1独立于TeamProject2的源代码,并包含所有必要的依赖项。如果TeamProject2发生变化,则不需要中断TeamProject1。

票数 1
EN

Stack Overflow用户

发布于 2017-09-29 22:44:24

很难找到这个问题的实际答案,这浪费了我很多时间。所以,如果你遇到这个问题,这里有一个指向正确解决方案的链接

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/9918911f-5951-43be-9ee9-00214cf17400/buildvnext-and-multiple-team-projects?forum=tfsbuild

基本上,UI不允许您在集合中选择多个团队项目。但是,您始终可以键入其他团队项目的实际路径,它将正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1630571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档