2

我知道弹出了很多“DeployOnBuild=true 被忽略”的帖子,但我发现的帖子都没有解决我的问题。

我正在尝试通过将部署到文件共享的构建 RTC 构建服务器构建和部署用 C# 编写的 WCF 服务。我不认为 RTC 是这里的罪魁祸首,但无论如何都要提及重要信息。设置为使用的发布配置文件是在通过 Visual Studio 2015 运行时成功发布的配置文件。当命令触发时,该开关/p:DeployOnBuild=true被完全忽略。msbuildmsbuild命令作为较大的 powershell 脚本的一部分直接从命令行发出。以下是msbuild我发出的一些不同的命令,但没有成功。

msbuild PathToSolutionFile\SolutionFile.sln /p:DeployOnBuild=true /p:VisualStudioVersion=14.0 /p:Configuration=Debug /p:Platform="Any CPU" /p:PublishProfile=DevelopmentDeploy

msbuild PathToSolutionFile\SolutionFile.sln /p:DeployOnBuild=true /p:VisualStudioVersion=14.0 /p:Configuration=Debug /p:Platform="Any CPU" /p:PublishProfile=ActualPublishProfile.pubxml

msbuild PathToProjectFile\ProjectFile.csproj /p:DeployOnBuild=true /p:VisualStudioVersion=14.0 /p:Configuration=Debug /p:Platform="Any CPU" /p:PublishProfile=DevelopmentDeploy

这些中的每一个都构建成功,并且生成的日志文件没有显示甚至尝试使用发布配置文件的迹象,更不用说跳过了。即使我/v:diag在生成的日志中包含用于更详细输出的开关也是如此。

我求助于尝试一个 powershell 脚本,尽管对于我想要完成的工作来说不是必需的。这是我作为测试快速组合在一起的脚本,以便我可以使用变量来解决我的开关的任何潜在问题。

$serverPath = 'C:\ServerPath'
$solutionPath = $serverPath + '\ProjectFolder\SolutionFile.sln'
$projectPath = $serverPath + '\ProjectFolder\ProjectFile.csproj'
$configuration = 'Debug'
$platform = "Any CPU"

$publishProfile = 'DevelopmentDeploy'
$buildProperties = "/p:DeployOnBuild=true /p:VisualStudioVersion=14.0 /p:Configuration=$configuration /p:Platform=$platform /p:PublishProfile=$publishProfile"

Write-Host ""
Write-Host "-- msbuild STARTING --"
Write-Host ""

$msbuild = 'C:\Program Files (x86)\MSBuild\14.0\Bin\amd64\MSBuild.exe'

# Run MSBuild
& $msbuild ($solutionPath, $buildProperties)

Write-Host ""
Write-Host "-- msbuild COMPLETE --"
Write-Host ""

同样,这个快速的 powershell throw-together 也与 /v:diag 一起运行,没有任何关于为什么 DeployOnBuild=true 被跳过的报告问题。

任何帮助或见解将不胜感激。

谢谢!

4

0 回答 0