Ponieważ komentarze nie są sformatowane, oto dochodzenie pokazujące, że fsimonazzi jest poprawne. W 2008 roku VisualStudioVersion NIE jest ustawione. W 2010 roku (i prawdopodobnie w górę) tak jest.
Utworzono projektu w VS2008 z niżej dodany po <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
:
<Target Name="PrintVisualStudioInfo">
<Message Text="VisualStudioVersion: '$(VisualStudioVersion)'" />
</Target>
<PropertyGroup>
<CompileDependsOn>
PrintVisualStudioInfo;
$(CompileDependsOn)
</CompileDependsOn>
</PropertyGroup>
toczone wyjście VS2008 do Normal. Rezultat:
Target PrintVisualStudioInfo:
VisualStudioVersion: ''
Na VS2010 Wynik:
PrintVisualStudioInfo:
VisualStudioVersion: '10.0'
Utworzono projektu w VS2008 z niżej dodany po ' ': PrintVisualStudioInfo; $ (CompileDependsOn) CompileDependsOn> PropertyGroup> Przekształcenie wyjścia VS2008 do wartości normalnej. Rezultat: docelowa PrintVisualStudioInfo: VisualStudioVersion: '' Na VS2010 Wynik: PrintVisualStudioInfo: VisualStudioVersion: '10 0,0' –
WaffleSouffle