我正在使用以下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在两个不同的机器上表现不同?
在您将此标记为重复之前,我已阅读以下内容并尝试
他们的解决方案无济于事:
最佳答案
添加以下msbuild选项:
/p:VisualStudioVersion=11.0 `
我发现了这个选项here。
关于.net - MSBuild WebFileSystemPublish步骤未在生成服务器上运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21486066/