Question: I have a C# project developed with VS2017. 

The *server* on which Jenkins runs doesn't have VS installed. I have .NET 4.7 installed on the *dev* computer and the *server*.

This is what I get when I type msbuild.exe /version:

Microsoft (R) Build Engine version XXX(see below)

* On dev, I have 2 MSBUILD.exe: 

	+ C:...\MicrosoftVisualStudio\2017\Pro\MSBuild\15.0\Bin: 15.1.1012.6693
	+ C:\Windows\Microsoft.NET\Framework\v4.0.30319: 4.7.2053.0
* On server: C:\Windows\Microsoft.NET\Framework\v4.0.30319: 4.7.2053.0

I assume that when I build a project in VS2017, it uses the MSBUILD.exe located in the MicrosoftVisualStudio folder.

I'm concerned now to build on the Jenkins machine with a different version of MSBUILD.exe? What would be the best approach? Copy the folder *C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild* to the Jenkins computer?

Answer: 
Finally I could do it, but I don't know the reason, I someone know, please let me know:

I sorrowed the strings with () and it compiled and works like a charm:

```
"code" -> ("payment mode " + another + " does not exist"), ...

```

all together it would be:

```
Json.obj("error_type" -> "invalid_request_error",
                      "validation_errors" -> (Json.obj(
                        "code" -> ("payment mode " + another + " does not exist"),
                        "param" -> "payment_mode"
                      ))))

```
You can create your error messages in a map of `<code>String</code>` and `<code>Seq[String]</code>` and then transform them into Json. I think that would be the best way to do it.