2016-08-18 44 views
0

与此处的问题类似:Copy one file in target directory on deploy from visual studio team services,我试图通过VSTS构建版本复制ClickOnce应用程序的app.publish目录的内容。在VSTS中复制app.publish文件夹构建/发布

这是复制发布生成 Copy Publish Artifact Step

这显然在输出bin文件夹中的服务器共享文件夹滴一切神器一步。

这是发布 Copy Files Step

这只复制的app.publish文件夹中的文件的复制文件的一步,但它构建出整个层级的文件夹app.publish文件夹;但是,它构建了完整的文件夹结构。即bin \ Release \ app.publish或bin \ Debug \ app.publish。

我喜欢能够发布和存储不同配置(调试/发布)的想法,但我不喜欢我不得不在msbuild参数中指定InstallUrl以获取调试/发布文件夹路径。即使我没有尝试维护多个配置,配置仍然在路径中。

所以我的问题是:有没有办法使用复制文件任务来将app.publish文件夹和/或内容复制到另一个位置,而不需要创建完整的层次结构?

回答

0

你需要指定复制文件的源文件夹的副本的根目录,在你的榜样,复制根应该是这样的:

源文件夹:$(System.DefaultWorkingDirectory)\$(Build.DefinitionName)\bin\$(BuildConfiguration)\

内容:**\app.publish\**

这样,您应该只在目标文件夹中有app.publish。

+0

的$(BuildConfiguration)变量是不是在释放复制文件的步骤可以无需手动创建它。不过,我希望发布定义能够从与发布定义相关联的构建的任何构建配置中撤出。 –

+0

如何在构建定义中使用此步骤并将app.publish文件夹与其他输出放在一起。 –

0

将构建定义中的“复制发布构件”步骤的“复制根”步骤配置为构建配置文件夹的路径,将“内容”配置为“**”。

例如,如果你的构建输出的路径是:

C:\ A \ 1 \ S \ SolutionFolder \ ProjectFolder \ BIN \ RELASE \ app.publish ...

您可以设置复制到根:

$(build.sourcesdirectory)\ SolutionFolder \ ProjectFolder \ BIN \ $(BuildConfiguration)

和内容设置为:

**

相关问题