从MSBuild项目中检测的Visual Studio版本(Detect Visual Studio

2019-09-21 04:15发布

该BuildingInsideVisualStudio属性提供检测项目是否在Visual Studio中建立的能力。

有什么方法来确定正在使用的Visual Studio中的版本?

Answer 1:

使用VisualStudioVersion财产。



Answer 2:

由于意见不格式化,这里有调查显示fsimonazzi是正确的。 2008年,VisualStudioVersion未设置。 2010年(及以上推测)是。

创建了一个项目在VS2008与之后的所述跟随加入<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

<Target Name="PrintVisualStudioInfo">
  <Message Text="VisualStudioVersion: '$(VisualStudioVersion)'" />
</Target>
<PropertyGroup>
  <CompileDependsOn>
    PrintVisualStudioInfo;
    $(CompileDependsOn)
  </CompileDependsOn>
</PropertyGroup>

打开VS2008输出到正常。 结果:

Target PrintVisualStudioInfo:
    VisualStudioVersion: ''

在VS2010结果:

PrintVisualStudioInfo:
   VisualStudioVersion: '10.0'


Answer 3:

根据这个帖子的属性存在开始与VS2012。 它在定义Microsoft.Common.targets安装了.NET 4.5,当文件(经检查发现原来的.NET 4.0没有财产定义)。



文章来源: Detect Visual Studio version from within MSBuild project