我正在使用以下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在我的两台开发机上都没有错误运行
和构建服务器。但是,将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在两个不同的机器上表现不同?

在您将此标记为重复之前,我已阅读以下内容并尝试
他们的解决方案无济于事:
  • TFS build - deployment/package target does not run
  • Web Deploy packaging not working on my build server
  • 最佳答案

    添加以下msbuild选项:

    /p:VisualStudioVersion=11.0 `
    

    我发现了这个选项here

    关于.net - MSBuild WebFileSystemPublish步骤未在生成服务器上运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21486066/

    10-13 03:10