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

直接安装或通过visual studio安装时的不同版本的MSBuild,msbuild,roslyn,Msbuild,Roslyn,我已通过Microsoft网站安装了“Microsoft Build Tools 2015”。但是,这将安装一个不同的MSBuild,而不是安装Visual Studio时得到的MSBuild。具体而言,直接安装MSBuild时,文件“Microsoft.CodeAnalysis.dll”的版本为1.0.0,但通过Visual Studio安装时,其版本为1.1.0 这一差异导致我的项目只在本地生成(我安装了Visual Studio),而不在生成服务器上生成(直接安装了MSBuild)。该项目

我已通过Microsoft网站安装了“Microsoft Build Tools 2015”。但是,这将安装一个不同的MSBuild,而不是安装Visual Studio时得到的MSBuild。具体而言,直接安装MSBuild时,文件“Microsoft.CodeAnalysis.dll”的版本为1.0.0,但通过Visual Studio安装时,其版本为1.1.0

这一差异导致我的项目只在本地生成(我安装了Visual Studio),而不在生成服务器上生成(直接安装了MSBuild)。该项目正在使用引用Microsoft.CodeAnalysis.dll 1.1.0的Roslyn诊断

有人知道为什么MSBuild工具安装程序使用旧的Roslyn.dll吗?何时可以将MSBuild工具安装程序更新为最新的Roslyn版本


我的选择是什么?我可以简单地将在将VS安装到buildserver时获得的本地MSBuild文件夹复制到buildserver,但这是一个有点笨拙的过程,尤其是在配置多个buildserver时。我应该更改Roslyn诊断,使其引用1.0.0,还是可以将1.1.0 dll打包到诊断的nuget包中?

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

这可以解释你观察到的差异

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


创建了一个问题以通知MSBuild人员,查看他们如何响应。

您如何引用Microsoft.CodeAnalysis DLL?是否正在引用程序文件下的直接程序集?这是到当前最新更新工具的直接链接:。