BuildingInsideVisualStudioプロパティは、プロジェクトがVisual Studio内に構築されているかどうかを検出する機能を提供します。MSBuildプロジェクト内からVisual Studioバージョンを検出する
使用しているVisual Studioのバージョンを確認する方法はありますか?
BuildingInsideVisualStudioプロパティは、プロジェクトがVisual Studio内に構築されているかどうかを検出する機能を提供します。MSBuildプロジェクト内からVisual Studioバージョンを検出する
使用しているVisual Studioのバージョンを確認する方法はありますか?
VisualStudioVersionプロパティを使用します。
コメントはフォーマットされていないので、fsimonazziが正しいことを示す調査がここにあります。 2008年、VisualStudioVersionは設定されていません。 2010年(おそらくそれを上回る)それがそうです。
は<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
後に追加された次にVS2008でプロジェクトを作成:
<Target Name="PrintVisualStudioInfo">
<Message Text="VisualStudioVersion: '$(VisualStudioVersion)'" />
</Target>
<PropertyGroup>
<CompileDependsOn>
PrintVisualStudioInfo;
$(CompileDependsOn)
</CompileDependsOn>
</PropertyGroup>
回さVS2008出力ノーマルまで。結果:VS2010結果に
Target PrintVisualStudioInfo:
VisualStudioVersion: ''
:
PrintVisualStudioInfo:
VisualStudioVersion: '10.0'
this postによるとプロパティはVS2012で始まる存在します。 .NET 4.5がインストールされている場合(元の.NET 4.0にはプロパティが定義されていないことが確認されます)、Microsoft.Common.targets
ファイルで定義されています。 <メッセージテキスト=」 <ターゲット名= "PrintVisualStudioInfo">: `<インポートプロジェクト= "$(MSBuildToolsPath)\ Microsoft.CSharp.targets"/>`後に次を追加してVS2008でプロジェクトを作成し
VisualStudioVersion: '$(VisualStudioVersion)' "/> PrintVisualStudioInfo; $(CompileDependsOn) CompileDependsOn> PropertyGroup> VS2008の出力を標準にしました。結果: 対象PrintVisualStudioInfo: VisualStudioVersion: '' VS2010結果に : PrintVisualStudioInfo: VisualStudioVersion:'10 .0' –
WaffleSouffle