[mcs] Handle commas inside quotes correctly
authoriain holmes <iain@xamarin.com>
Fri, 11 Dec 2015 22:38:09 +0000 (22:38 +0000)
committeriain holmes <iain@xamarin.com>
Sun, 13 Dec 2015 19:12:57 +0000 (19:12 +0000)
commit42c0a9444519f730479129f1dd20fac352b35b16
treedbcd6abcfdabc0ec825a8281f23051b2af1a1bd5
parent60e1beca4a884cf219670c0822994263a52309e4
[mcs] Handle commas inside quotes correctly

OpenLiveWriter's build files break due to incorrectly parsing (".",",") as three arguments: a . and two " instead of two: a . and a ,

This is the error:

OpenLiveWriter/writer.build.targets: error : Error executing task WriteLinesToFile: Error converting Property named 'Lines' with value '#define FILE_VERSION $(BuildVersion.Replace(".",","));#define PRODUCT_VERSION $(BuildVersion)' to type Microsoft.Build.Framework.ITaskItem[]: Method 'Replace(., , )' arguments cannot be evaluated'

This patch ignores , as a separator character if it is inside ""
mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Expression.cs
mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ProjectTest.cs