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

时间:2014-01-31 17:14:48

标签: .net powershell msbuild

我正在使用以下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

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

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

PipelinePreDeployCopyAllFilesToOneFolder:          
  Publish Pipeline Deploy phase Stage ...
WebFileSystemPublish:                              
  ...

在构建服务器上

PipelinePreDeployCopyAllFilesToOneFolder:             
  Publish Pipeline Deploy phase Stage ...
Package:                                              
  Invoking Web Deploy to generate the package with ...

我正在试图弄清楚为什么“Package”步骤在构建上运行 服务器而不是“WebFileSystemPublish”。什么可以导致相同的版本 msbuild在两台不同的机器上表现不同?

在将此标记为重复之前,我已阅读以下内容并尝试过 他们的解决方案无济于事:

1 个答案:

答案 0 :(得分:5)

添加以下msbuild选项:

/p:VisualStudioVersion=11.0 `

我发现了这个选项here