Home Ask Login Register

Developers Planet

Your answer is one click away!

Kemy February 2016

TFS 2015 Build vNext recursive variable substitution

Is it possible that the variable substitution is not recursive?


Variable Value

SqlInstance (localDb)\mssqllocaldb

DbCatalogName FooDb

ConnStr data source=$(SqlInstance);initial catalog=$(DbCatalogName)$(Build.BuildId);

During the build the connection string substituted to: data source=(localDb)\mssqllocaldb;initial catalog=FooDb3211;

This configuration works perfectly. But if i move the BuildId parameter to DbCatalogName variable it won't be substituted.


Variable Value

SqlInstance (localDb)\mssqllocaldb

DbCatalogName FooDb$(Build.BuildId)

ConnStr data source=$(SqlInstance);initial catalog=$(DbCatalogName);

With this configuration the connection string is substituted to: data source=(localDb)\mssqllocaldb;initial catalog=FooDb$(Build.BuildId);

So how can i chain variables with vNext?


Eddie - MSFT February 2016

If you want the "DbCatalogName" variable contain the BuildID value, I recommend you to add an additional power-shell build step to set the value of "DbCatalogName".

The code to set a variable value:

##vso[task.setvariable variable=testvar;]testvalue

Post Status

Asked in February 2016
Viewed 2,810 times
Voted 7
Answered 1 times


Leave an answer

Quote of the day: live life