tfs 2017构建多个解决方案依赖

时间:2017-09-01 04:44:58

标签: tfs build tfs2017 build-definition

如何为具有依赖关系的多个解决方案创建构建定义?

背景:

有两种解决方案

解决方案A是类库,包含一个对象类&Class;'

解决方案B是使用' ClassA'的控制台程序。通过添加解决方案A生成的dll引用。

我想使用一个TFS 2017构建定义来构建两个解决方案。

引发错误:

   Main\Source\SolutionB\Program.cs (13, 13)
   Main\Source\SolutionB\SolutionB\Program.cs(13,13): Error CS0246:
   The type or namespace name 'SolutionA' could not be found (are you 
   missing a using directive or an assembly reference?)

如何配置SolutionB知道使用从SolutionA构建生成的dll的构建定义?

1 个答案:

答案 0 :(得分:-1)

您应该构建第一个将在第二个项目中用作dll的项目,而不是复制文件来构建工件;而不是将您的dll发布到您在第二个项目中引用的特定文件夹,最后构建您的第二个项目。

您可以使用类似的过程检查此图像,只需在下面的图像中将工件发布到三个不同的位置,在您的情况下它应该是一个发布任务。 enter image description here

这是一种简单的方法;但是如果你也将项目A用于其他一些项目,你可能想要使用NuGet包。我将把它描述为解决方案2。

解决方案2 :项目A的工件应该create a Nuget packages。您可以在自定义源文件夹中host your Nuget packages。将您的第一个项目包添加到您的项目中作为参考。您不需要执行额外的操作只需在构建定义中添加nuget还原任务即可。如果需要,您可以在构建定义期间将第一个项目发布为nuget包。请检查how to restore and install neuget packages by build definiton