MSBuild WebFileSystemPublish步骤不在构建服务器上运行

Set*_*eno 1 .net msbuild powershell

我正在使用以下powershell脚本来构建Web项目:

$tools = @()
$tools += "C:\Windows\System32"                           #xcopy
$tools += "C:\Windows\Microsoft.NET\Framework\v4.0.30319" #msbuild
$env:Path =  [string]::join('; ', $tools)

msbuild ROS.EDI.Web/ROS.EDI.Web.csproj `
  /p:DeployOnBuild=true `
  /p:PublishProfile=$config `
  /p:Configuration=$config `
  /p:Platform=AnyCPU `
  /p:DefineConstants=$constants `
  /property:ApplicationVersion=$env:BUILD_NUMBER `
  /property:ApplicationRevision=$env:BUILD_VCS_NUMBER
Run Code Online (Sandbox Code Playgroud)

脚本完成,msbuild在我的开发机器和构建服务器上运行时没有错误.但是,将Web项目发布到本地文件系统的步骤不会在构建服务器上运行.

这是我的开发机器上msbuild的相关输出

PipelinePreDeployCopyAllFilesToOneFolder:          
  Publish Pipeline Deploy phase Stage ...
WebFileSystemPublish:                              
  ...
Run Code Online (Sandbox Code Playgroud)

并在构建服务器上

PipelinePreDeployCopyAllFilesToOneFolder:             
  Publish Pipeline Deploy phase Stage ...
Package:                                              
  Invoking Web Deploy to generate the package with ...
Run Code Online (Sandbox Code Playgroud)

我试图弄清楚为什么"包"步骤在构建服务器上而不是"WebFileSystemPublish"上运行.是什么导致相同版本的msbuild在两台不同的机器上表现不同?

在您将此标记为重复之前,我已阅读以下内容并尝试使用其解决方案无效:

Set*_*eno 5

添加以下msbuild选项:

/p:VisualStudioVersion=11.0 `
Run Code Online (Sandbox Code Playgroud)

我在这里发现了这个选项.