9

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

有什么方法可以确定正在使用哪个版本的 Visual Studio?

4

3 回答 3

7

使用 VisualStudioVersion 属性。

于 2012-08-13T17:40:53.500 回答
7

由于评论没有格式化,这里的调查显示 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'
于 2012-08-15T09:14:30.640 回答
5

根据这篇文章,该属性从 VS2012 开始存在。它是在Microsoft.Common.targets安装 .NET 4.5 时在文件中定义的(检查原始 .NET 4.0 没有定义该属性)。

于 2012-11-30T09:21:46.000 回答