【问题标题】:Teamcity 9x ignoring MsBuild parametersTeamcity 9x 忽略 MsBuild 参数
【发布时间】:2018-01-08 00:49:30
【问题描述】:

我正在尝试使用 Teamcity 构建、打包和部署 Web 应用程序,但由于某种原因,Teamcity 忽略了我传递给 MsBuild.exe 的属性。

我在构建配置中创建了一个步骤来构建、打包应用程序并将其部署到本地服务器。以下是属性:

/P:Configuration=Release 
/P:DeployOnBuild=True 
/P:DeployTarget=MSDeployPublish 
/P:DeployIISAppPath=MyDeployedWebsitePath 
/P:AllowUntrustedCertificate=True 
/P:MSDeployPublishMethod=WMSvc 
/P:CreatePackageOnPublish=True 
/P:UserName=Administrator 
/P:Password=****** 
/P:MsDeployServiceUrl=MyServerName

将它们作为命令行参数传递给 MSBuild 步骤或在参数选项卡中将它们声明为系统属性似乎不起作用。 Teamcity 构建应用程序,但忽略了打包和部署步骤!

如果我在同一台服务器(使用相同的参数)上通过命令行执行 MSBuild,则包和部署工作正常。

我正在按照 Troy Hunt 系列中提到的步骤进行操作:https://www.troyhunt.com/you-deploying-it-wrong-teamcity_26/

我已经阅读了很多堆栈溢出问题,并且它似乎对其他人无缝地工作。我不确定出了什么问题。

我非常感谢任何帮助。

更新 - 构建日志

> Step 2/2: Build (MSBuild) (51s)
[18:32:48][Step 2/2] ##teamcity[buildStatisticValue key='buildStageDuration:buildStepRUNNER_18' value='0.0']
[18:32:48][Step 2/2] Starting: C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.MsBuildBootstrap.exe /workdir:C:\TeamCity\buildAgent\work\b12fe165603f4f19 /msbuildPath:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe
[18:32:48][Step 2/2] in directory: C:\TeamCity\buildAgent\work\b12fe165603f4f19
[18:32:56][Step 2/2] Targets were not defined in the build configuration.
[18:32:56][Step 2/2] MSBuild command line parameters contain "/property:" or "/p:". It is recommended to define System Property on Build Parameters instead.
[18:33:02][Step 2/2] EnsembleID.Web\EnsembleID.Web.csproj.teamcity: Build target: Build (37s)
[18:33:40][Step 2/2] Process exited with code 0

【问题讨论】:

  • TeamCity 构建日志中的 msbuild 命令行是什么样的?
  • 用部分构建日志更新了问题。它只是向我显示了 MsBuild 可执行文件的路径。
  • 是的,对不起,我忘记了 TC 日志并没有什么帮助 - 我想它可能会显示属性使用,如果是这样,你可以弄清楚它们是否被正确传递(这意味着有问题在构建本身)或它们是否没有正确传递(这意味着 TC 覆盖了它们或根本不传递它们)。也许编辑项目文件以包含<Message Text="DeployOnBuild=$(DeployOnBuild)"/> 之类的内容,以确定属性是否甚至可以构建?如果将 Configuration 更改为 Debug,它是否有效地构建了 Debug?
  • 将配置更改为调试确实会在调试模式下构建它。

标签: msbuild teamcity web-deployment webdeploy


【解决方案1】:

原来是版本问题:/

我为 MSBuild 版本尝试了不同的选项 - Microsoft .Net Framework 4.5、4.0 等。

最后,Microsoft Build Tools 2015 选项起作用了。

在过去的一周里,我一直在努力解决这个问题,但我忘记了我尝试过的所有不同排列。我已经安装了所有不同版本的框架工具和 Web 部署工具,我不确定为什么其他选项对我不起作用。因此,如果有人遇到类似问题,请务必尝试不同的 MSBuild 版本。

【讨论】:

    猜你喜欢
    • 2012-12-24
    • 2019-04-24
    • 1970-01-01
    • 2011-09-26
    • 2023-03-28
    • 1970-01-01
    • 2020-01-30
    • 2011-06-25
    • 1970-01-01
    相关资源
    最近更新 更多