Msbuild 使用变量提取MSDeploy Zip包

Msbuild 使用变量提取MSDeploy Zip包,msbuild,azure-devops,azure-pipelines,Msbuild,Azure Devops,Azure Pipelines,我正在设置一个自动内置的VST,它将把发布的文件FTP到我的服务器上 我有这个工作,但我已经实现它的方式,我觉得是黑客和不可持续的 从截图中可以看到,这个过程将发布一个人工制品,它由一个自述文件、cmd文件和一个包含我所有发布文件的zip文件组成,然后我用下面非常明确的位置提取zip文件 $(Build.ArtifactStagingDirectory)\temp\Content\d\u C\a\1\s\IntermittentBug\IntermittentBug\obj\Release\u

我正在设置一个自动内置的VST,它将把发布的文件FTP到我的服务器上

我有这个工作,但我已经实现它的方式,我觉得是黑客和不可持续的

从截图中可以看到,这个过程将发布一个人工制品,它由一个自述文件、cmd文件和一个包含我所有发布文件的zip文件组成,然后我用下面非常明确的位置提取zip文件

$(Build.ArtifactStagingDirectory)\temp\Content\d\u C\a\1\s\IntermittentBug\IntermittentBug\obj\Release\u EukHosts\Package\PackageTmp

我在VSTS中使用托管的构建服务器,但路径包含

d\u C\a\1\s\

我想这会随着时间的推移而改变。我需要的是一个变量来适应这条道路,这样它就会永远成功

我如何更新它以使其更加高效和可持续


此变量被一个名为
Build.SourcesDirectory
的预定义变量捕获。看


在批处理或powershell脚本中,此变量作为名为
%BUILD\u SOURCESDIRECTORY%
/
$env:BUILD\u SOURCESDIRECTORY

的环境变量提供,正如jessebouwing所说,该变量名为
BUILD.SOURCESDIRECTORY

关于路径结构,简单的方法是在Visual Studio Build任务中指定
/p:PackageTempRootDir=“
msbuild参数以删除源路径结构,然后路径将类似于
Content\D\u C\PackageTmp


另一方面,您也可以通过文件系统模式发布web应用程序。

您解决了这个问题吗?