2012-08-13 9 views

Odpowiedz

6

Użyj właściwości VisualStudioVersion.

+0

Utworzono projektu w VS2008 z niżej dodany po '': PrintVisualStudioInfo; $ (CompileDependsOn) Przekształcenie wyjścia VS2008 do wartości normalnej. Rezultat: docelowa PrintVisualStudioInfo: VisualStudioVersion: '' Na VS2010 Wynik: PrintVisualStudioInfo: VisualStudioVersion: '10 0,0' – WaffleSouffle

6

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' 
5

Według this post właściwość istnieje wychodząc z VS2012. Jest zdefiniowany w pliku Microsoft.Common.targets po zainstalowaniu programu .NET 4.5 (zaznaczono, że oryginalny .NET 4.0 nie ma zdefiniowanej właściwości).

Powiązane problemy