Index: src/main/java/hudson/plugins/msbuild/MsBuildBuilder.java =================================================================== --- src/main/java/hudson/plugins/msbuild/MsBuildBuilder.java (revision 35868) +++ src/main/java/hudson/plugins/msbuild/MsBuildBuilder.java (working copy) @@ -13,6 +13,7 @@ import java.io.File; import java.io.IOException; import java.util.Map; +import java.util.HashMap; import net.sf.json.JSONObject; import org.kohsuke.stapler.DataBoundConstructor; @@ -108,7 +109,16 @@ if(normalizedTarget.trim().length()>0) args.addTokenized(normalizedTarget); - args.addKeyValuePairs("-P:",build.getBuildVariables()); + Map buildVars = build.getBuildVariables(); + HashMap escapedBuildVars = new HashMap(); + for(Map.Entry e: buildVars.entrySet()){ + String key = e.getKey(); + String val = e.getValue(); + val = val.replace(",", "%2c"); + val = val.replace("\"", "%22"); + escapedBuildVars.put(key, val); + } + args.addKeyValuePairs("-P:", escapedBuildVars); //If a msbuild file is specified, then add it as an argument, otherwise //msbuild will search for any file that ends in .proj or .sln