1. 安装插件`MSBuild Plugin`
安装后再构建步骤中会多一个【`Build a Visual Studio project or solution using MSBuild`】选项。
2. 配置`MSBuild`
在【系统管理】->【全局工具配置】->【MSBuild】中添加本地已安装的`MSBuild`。

3. 在Job的构建中添加MSBuild步骤

## 配置时踩到的坑
1. error `CS1041` & error `CS1617`
> xxx.cs(13,7): error CS1041: 应输入标识符;“static”是关键字 [D:\jenkins\workspace\workspace\xxx\xxx\xxx.csproj]
> xxx.cs(13,14): error CS1518: 应输入 class、delegate、enum、interface 或 struct [D:\jenkins\workspace\workspace\xxx\xxx\xxx.csproj]
原因是有个`class`中使用了`C# 6.0`的语法`using static`来引入静态类。开发使用的VS2015中是可以正常编译。
手动将工程属性【`langversion`】改为`6`,或者使用【`/p:langversion=6`】参数构建时,又输出了如下错误:
> CSC : error CS1617: 选项“6”对 /langversion 无效;必须是 ISO-1、ISO-2、3、4、5 或 Default [D:\jenkins\workspace\workspace\xxx\xxx\xxx.csproj]
这说明本机安装的安装`MSBuild`版本不支持`C# 6.0`的语法。
确认了下本机安装的`MSBuild`确实是对应`.Net Framework 4.5`的。おかしい!
最后去[微软官网](https://www.visualstudio.com/zh-hans/downloads/)下载了最新版的[Visual Studio 2017 生成工具](https://www.visualstudio.com/zh-hans/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15)(好在可以单独安装),再在【系统管理】->【全局工具配置】->【MSBuild】新增一个配置,在Job的构建中选择该MSBuild就行了。




2. error `CS0246`
> error CS0246: 未能找到类型或命名空间名“Nest”(是否缺少 using 指令或程序集引用?)
项目遗留问题,工程文件中的引用设置的比较乱,有些虽然在VS中可以正常编译,通过`MSBuild`编译时就会出现该错误。
这个只需要把对应的引用删除,然后添加一个正确位置的引用就行了。
## 附
1. [MSBuild 命令行参考](https://msdn.microsoft.com/zh-cn/library/azure/ms164311(v=vs.120).aspx)