VSTS构建失败 - 错误MSB4184:无法评估表达式“”“.ArtifactsStagingDirectory”

时间:2017-11-08 19:51:08

标签: azure-devops build-error

我有一个包含多个项目的解决方案(1个WebApi项目,2个MVC项目和一堆类库)。

我正在关注使用Octopus Deploy打包单个项目的this文章,并在项目包含在单个解决方案中时将它们推送到Octopus服务器。

构建解决方案任务让我更改了以下参数:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(BuildConfiguration)"

/p:OutDir=$(Build.ArtifactsStagingDirectory) /p:GenerateProjectSpecficOutputFolder=true

表面上这是有意义的 - 将所有内容发布到单个目录并为每个项目创建一个单独的文件夹。

然而,改变这一点 - 在构建时创建和错误:

  

d:\ a \ 1 \ s \ Test.Models \ Test.Models.csproj“(默认目标)(5) - >   (ImplicitlyExpandDesignTimeFacades target) - > C:\ Program Files   (86)\的MSBuild \ 14.0 \ BIN \ Microsoft.NetFramework.CurrentVersion.targets(107,74):   错误MSB4184:表达式“”“。ArtifactsStagingDirectory”不能   评估。找不到方法'System.String.ArtifactsStagingDirectory'。   [d:\一个\ 1 \ S \ Test.Models \ P4P.Models.csproj]

这是一个失败的独立类库。解决方案是在达到此故障之前构建其中一个Web应用程序和另一个类库。

1 个答案:

答案 0 :(得分:1)

您指定的变量$(Build.ArtifactsStagingDirectory)不是预定义变量。有一个冗余的字符串" s"在里面。正确的应该是:$(Build.ArtifactStagingDirectory)