TFS 2015 - 构建解决方案,包项目。也不应该建立一个解决方案

时间:2017-12-10 23:06:27

标签: visual-studio tfs build msbuild tfsbuild

我有一个包含8个项目的解决方案,其中只有一个是网站/应用程序。其余的都创建了在Web应用程序中引用的程序集。

我想构建解决方案,然后将网站项目打包到Web部署包中。

所以在TFS中,我添加了Visual Studio Build步骤(此后定义中没有其他步骤),将其指向解决方案并添加了以下MSBuild参数:

  

/ p:DeployOnBuild = True / p:WebPublishMethod = Package / p:PackageAsSingleFile = true / p:SkipInvalidConfigurations = true / p:PackageLocation =“$(build.artifactstagingdirectory)\”

请注意,在TFS源代码管理中,有2个解决方案文件夹。对于这个版本,我只想构建一个解决方案。所以我给了它想要的解决方案的完整路径(没有任何通配符)。

构建成功,当我查看该目录(\ TfsData \ Build_work \ 1)时,它在那里创建了4个文件夹:'a','b','s'和& 'TestResults'。

文件夹'a','b'和& 'TestResults'是空的。

's'文件夹中有一个'$ tf'文件夹,里面有很多东西,我不知道它的用途。

's'文件夹中还有两个解决方案。我不希望第二个解决方案构建/放置在那里。只是第一个。

我在第一个解决方案中找不到Web应用程序的任何Web部署(zip)包。它只是内置的文件夹。

1 个答案:

答案 0 :(得分:0)

  • S 代表Build.SourcesDirectory

    下载源代码文件的代理上的本地路径。例如:c:\agent\_work\1\s

  • A 代表Build.ArtifactStagingDirectory

    代理上的本地路径,在将其推送到目标之前复制任何工件。例如:c:\agent\_work\1\a

  • B 代表Build.BinariesDirectory

    代理上的本地路径,可用作已编译二进制文件的输出文件夹。例如:c:\agent\_work\1\b

根据您的说明,您需要在构建定义的存储库下的源映射中不需要cloak folders

此外,您必须使用Copy and Publish Build Artifacts将构建工件发布到drop folder(服务器路径)或共享路径。