0

我正在使用 Visual Studio Online 进行 CI。我有一个发布版本设置。我的一个项目有一个预构建步骤,该步骤仅应为调试构建执行。

if $(ConfigurationName) == Debug copy "$(ProjectDir)Config\web.$(Username).config" "$(ProjectDir)\runtime.config"

但是,VSO 使构建失败,并显示命令以状态 1 退出的错误。

在开发人员机器上使用 Visual Studio 执行相同的构建时运行良好。

4

2 回答 2

0

问题归结为在条件检查中需要括号。因此,以下适用于 VSO。

if ($(ConfigurationName) == Debug) copy "$(ProjectDir)Config\web.$(Username).config" "$(ProjectDir)\runtime.config"

VS2013 不需要括号。

于 2015-05-27T12:47:12.550 回答
0

该命令必须在括号之间,因为由 CMD.EXE 解析

if $(ConfigurationName) == Debug ( copy "$(ProjectDir)Config\web.$(Username).config" "$(ProjectDir)\runtime.config" )

见“如果”。

于 2015-05-28T05:54:13.173 回答