TFS构建定义使用msbuild参数在临时目录中生成文件

时间:2017-03-01 15:06:01

标签: asp.net msbuild tfsbuild webdeploy

在构建定义中,我在msbuild参数中有这些参数: / p:DeployOnBuild = true / p:WebPublishMethod = FileSystem / p:PackageLocation = $(build.stagingDirectory)\ DeployPackages \ / p:PackageAsSingleFile = false / p:SkipInvalidConfigurations = true / p:AutoParameterizationWebConfigConnectionStrings = False / p:GenerateProjectSpecificOutputFolder = true

所需的所有文件都放在DeployPackages文件夹中,但是要获取代码的文件夹和子文件夹列表很大。有没有办法减少文件夹的数量? _work \ 5 \一个\ DeployPackages \存档\内容\ d_C \ tfsbuild_work \ 5 \ S \主\ AdService \ OBJ \ DEVE \包\ PackageTmp \

它是包含我需要复制到服务器的文件的PackageTmp文件夹。

感谢

2 个答案:

答案 0 :(得分:0)

<强>更新

要减少文件夹路径和结构,可以在包位置使用其他参数而不是$(build.stagingDirectory)。如

/p:PackageLocation="$(BuildConfiguration)"\DeployPackages\XX.zip

/p:PackageLocation="$(build.artifactstagingdirectory)\DeployPackages\XX.zip

此外,如果您遇到任何长路径问题,最有效和最简单的方法仍然是花费一些时间调整您的文件/文件夹结构。

例如:而不是\xx\Build\Drop\ProjectName,只需使用\xx\Build\Drop(或\xx\Builds),因为项目名称也在构建名称中。

答案 1 :(得分:0)

您可以使用以下参数:

/p:outdir="$(build.artifactstagingdirectory)\DeployPackages"