我使用Visual Studio Online进行CI。我有一个Release版本设置。我的一个项目有一个预构建步骤,只应该为Debug构建执行。
if $(ConfigurationName) == Debug copy "$(ProjectDir)Config\web.$(Username).config" "$(ProjectDir)\runtime.config"
然而,VSO使构建失败,并且命令以状态1退出。
在开发人员计算机上使用Visual Studio执行时,相同的构建运行正常。
答案 0 :(得分:0)
问题在于条件检查需要括号。因此,以下是关于VSO的。
if ($(ConfigurationName) == Debug) copy "$(ProjectDir)Config\web.$(Username).config" "$(ProjectDir)\runtime.config"
VS2013不需要括号。
答案 1 :(得分:0)
命令必须在括号之间,因为CMD.EXE
解析
if $(ConfigurationName) == Debug (
copy "$(ProjectDir)Config\web.$(Username).config" "$(ProjectDir)\runtime.config"
)
请参阅" if"。