直接安装或通过visual studio安装不同版本的MSBuild

时间:2016-03-01 12:05:51

标签: msbuild roslyn

我已经安装了Microsoft Build Tools 2015'通过微软网站。但是,这将安装一个不同的MSBuild然后我安装Visual Studio时得到的。具体来说,文件" Microsoft.CodeAnalysis.dll"在直接安装MSBuild时版本是1.0.0,但在通过Visual Studio安装时版本为1.1.0。

这种差异导致我的项目只在本地构建,我安装了Visual Studio,但不在我的构建服务器上,后者直接安装了MSBuild。该项目使用引用Microsoft.CodeAnalysis.dll 1.1.0的Roslyn诊断。

有谁知道为什么MSBuild工具安装程序使用的是较旧的Roslyn .dll' s?我什么时候可以期望MSBuild工具安装程序更新到最新的Roslyn版本?

我有什么选择?我可以简单地将我在安装VS时获得的本地MSBuild文件夹复制到我的构建服务器,但这有点尴尬,特别是在配置多个构建服务器时。我应该更改我的Roslyn诊断程序,以便它引用1.0.0,还是可以将1.1.0 dll打包到诊断程序的nuget程序包中?

1 个答案:

答案 0 :(得分:2)

Visual Studio 2015 SP1使用带有更新的MSBuild 14.0(14.0.24720.0),而下载的是MSBuild 14.0.23107.10,

https://en.wikipedia.org/wiki/MSBuild

https://github.com/Microsoft/msbuild/releases

这可以解释您观察到的差异。

除非Microsoft提供单个MSBuild下载的更新,否则您应该在构建服务器上安装Visual Studio 2015 Update 1.

创建了一个问题,通知MSBuild的人,https://github.com/Microsoft/msbuild/issues/507了解他们的反应。