BuildingInsideVisualStudio属性提供了检测项目是否在Visual Studio中构建的功能。
有没有办法确定使用哪个版本的Visual Studio?
答案 0 :(得分:7)
使用VisualStudioVersion属性。
答案 1 :(得分:6)
由于评论没有格式化,这里的调查显示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'
答案 2 :(得分:5)
根据this post,该属性从VS2012开始存在。安装.NET 4.5时,它在Microsoft.Common.targets
文件中定义(检查原始.NET 4.0没有定义属性)。