VSTS 构建失败 - 错误 MSB4184:无法评估表达式“”.ArtifactsStagingDirectory”
VSTS Build Failure - error MSB4184: The expression """.ArtifactsStagingDirectory" cannot be evaluated
我有一个包含多个项目的解决方案(1 个 WebApi 项目、2 个 MVC 项目和一堆 class 库)。
我正在关注 this 关于使用 Octopus Deploy 打包单个项目并将项目包含在单个解决方案中时将它们推送到 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\s\Test.Models\Test.Models.csproj" (default target) (5) ->
(ImplicitlyExpandDesignTimeFacades target) -> C:\Program Files
(x86)\MSBuild.0\bin\Microsoft.NetFramework.CurrentVersion.targets(107,74):
error MSB4184: The expression """.ArtifactsStagingDirectory" cannot be
evaluated. Method 'System.String.ArtifactsStagingDirectory' not found.
[d:\a\s\Test.Models\P4P.Models.csproj]
这是一个失败的单独 class 库。解决方案是在出现此故障之前构建一个 Web 应用程序和另一个 class 库。
您指定的变量 $(Build.ArtifactsStagingDirectory)
不是预定义变量。里面有多余的字符串"s"。正确的应该是:$(Build.ArtifactStagingDirectory)
.
我有一个包含多个项目的解决方案(1 个 WebApi 项目、2 个 MVC 项目和一堆 class 库)。
我正在关注 this 关于使用 Octopus Deploy 打包单个项目并将项目包含在单个解决方案中时将它们推送到 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\s\Test.Models\Test.Models.csproj" (default target) (5) -> (ImplicitlyExpandDesignTimeFacades target) -> C:\Program Files (x86)\MSBuild.0\bin\Microsoft.NetFramework.CurrentVersion.targets(107,74): error MSB4184: The expression """.ArtifactsStagingDirectory" cannot be evaluated. Method 'System.String.ArtifactsStagingDirectory' not found. [d:\a\s\Test.Models\P4P.Models.csproj]
这是一个失败的单独 class 库。解决方案是在出现此故障之前构建一个 Web 应用程序和另一个 class 库。
您指定的变量 $(Build.ArtifactsStagingDirectory)
不是预定义变量。里面有多余的字符串"s"。正确的应该是:$(Build.ArtifactStagingDirectory)
.