BuildingInsideVisualStudioプロパティは、プロジェクトが Visual Studio 内でビルドされているかどうかを検出する機能を提供します。
使用されている Visual Studio のバージョンを特定する方法はありますか?
BuildingInsideVisualStudioプロパティは、プロジェクトが Visual Studio 内でビルドされているかどうかを検出する機能を提供します。
使用されている Visual Studio のバージョンを特定する方法はありますか?
VisualStudioVersion プロパティを使用します。
コメントはフォーマットされていないため、 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'
この投稿によると、プロパティはVS2012から存在します。.NET 4.5 のインストール時にファイルで定義されMicrosoft.Common.targets
ます (元の .NET 4.0 にはプロパティが定義されていないことを確認しました)。