我有一个用VS2017开发的C#项目。
Jenkins运行的服务器没有安装VS.我在 dev 计算机和服务器上安装了.NET 4.7。
这是我输入msbuild.exe / version时的结果:
Microsoft(R)Build Engine版本XXX(见下文)
在开发中,我有2个MSBUILD.exe:
在服务器上:C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319:4.7.2053.0
我假设在VS2017中构建项目时,它使用位于MicrosoftVisualStudio文件夹中的MSBUILD.exe。
我现在担心使用不同版本的MSBUILD.exe在Jenkins机器上构建?什么是最好的方法?将文件夹 C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild 复制到Jenkins计算机?
答案 0 :(得分:0)
这取决于您使用的MSBuild功能。
在VS 2017中开发的构建项目的安全方法是使用已安装的VS版本的MSBuild(15)从完整的VS安装或Build Tools for Visual Studio 2017
进行构建。
尽管MSBulid的.NET Framework版本能够构建大量项目,但它仅限于较旧的C#版本,因此您必须安装Microsoft.Net.Compilers
NuGet包来替换编译器。但VS 2017引入了新的MSBuild语法功能以及无法修补到MSBuild旧版本的构建任务,因此非常不鼓励使用它。
答案 1 :(得分:0)
我在服务器上使用此版本的MSBUILD.exe时出现了几个错误:C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319:4.7.2053.0
以下是在Jenkins 2.60.2
上建立VS2017 C#错误的步骤在Jenkins / Global Tool Configuration中,在MSBUILD部分
如果默认参数为空,我收到错误,因此非常重要。