对于C#WCF服务到文件共享,忽略了MSBuild DeployOnBuild = true

时间:2018-08-21 17:02:50

标签: .net powershell wcf msbuild rational-team-concert

我知道会弹出很多这样的“ DeployOnBuild = true被忽略”的帖子,而我发现的所有帖子都无法解决我的问题。

我正在尝试通过我们的构建RTC构建服务器来构建和部署用C#编写的WCF服务,该服务器将部署到文件共享。我不认为RTC是这里的罪魁祸首,但是无论如何它都会像重要信息一样收费。设置为使用的发布配置文件是在Visual Studio 2015中运行时成功发布的配置文件。/p:DeployOnBuild=true命令触发时,开关msbuild被完全忽略。 msbuild命令是作为大型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组合也与/ v:diag一起运行,而没有关于为何跳过DeployOnBuild = true的任何报告问题。

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

谢谢!

0 个答案:

没有答案