与此处的问题类似:Copy one file in target directory on deploy from visual studio team services,我试图通过VSTS构建/发布来复制ClickOnce应用程序的app.publish目录的内容。
这是Build 的Copy Publish Artifact步骤
这显然会将bin文件夹中的所有内容输出到服务器共享上的drop文件夹。
这只复制app.publish文件夹中的文件,但它会将整个层次结构构建到文件夹app.publish文件夹中;但是,它构建了完整的文件夹结构。即bin \ Release \ app.publish或bin \ Debug \ app.publish。
我喜欢能够发布和存储不同配置(调试/发布)的想法,但我不喜欢我必须在msbuild参数中指定InstallUrl才能获取调试/发布文件夹路径。即使我没有尝试维护多个配置,配置仍然在路径中。
所以我的问题是:有没有办法使用复制文件任务将app.publish文件夹和/或内容复制到另一个位置,而不创建完整的层次结构?
答案 0 :(得分:0)
您需要在复制文件的源文件夹中指定复制根目录,在您的示例中,复制根应该是:
源文件夹: $(System.DefaultWorkingDirectory)\$(Build.DefinitionName)\bin\$(BuildConfiguration)\
内容: **\app.publish\**
这样,您的目标文件夹中应该只有app.publish。
答案 1 :(得分:0)
将构建定义中“复制发布工件”步骤的“复制根目录”配置为构建配置文件夹的路径,将“内容”配置为“**”。
例如,如果构建输出的路径是:
C:\一个\ 1 \ S \ SolutionFolder \ ProjectFolder \ BIN \ RELASE \ app.publish ...
您可以将复制根设置为:
$(build.sourcesdirectory)\ SolutionFolder \ ProjectFolder \ BIN \ $(BuildConfiguration)
内容设置为:
**