2012-08-13 17 views

risposta

6

Utilizzare la proprietà VisualStudioVersion.

+0

creato un progetto in VS2008 con le seguenti aggiunte dopo '': PrintVisualStudioInfo; $ (CompileDependsOn) Uscita VS2008 fino a Normale. Risultato: Obiettivo PrintVisualStudioInfo: VisualStudioVersion: '' Su VS2010 Risultato: PrintVisualStudioInfo: VisualStudioVersion: '10 .0' – WaffleSouffle

6

Dato che i commenti non sono formattati, ecco che la ricerca di fsimonazzi è corretta. Nel 2008, VisualStudioVersion NON è impostato. Nel 2010 (e presumibilmente) lo è.

creato un progetto in VS2008 con il seguente aggiunti dopo <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />:

<Target Name="PrintVisualStudioInfo"> 
    <Message Text="VisualStudioVersion: '$(VisualStudioVersion)'" /> 
</Target> 
<PropertyGroup> 
    <CompileDependsOn> 
    PrintVisualStudioInfo; 
    $(CompileDependsOn) 
    </CompileDependsOn> 
</PropertyGroup> 

uscita VS2008 è rivelato fino a Normal. Risultato:

Target PrintVisualStudioInfo: 
    VisualStudioVersion: '' 

Su VS2010 Risultato:

PrintVisualStudioInfo: 
    VisualStudioVersion: '10.0' 
5

Secondo this post la proprietà esiste a partire dal VS2012. È definito nel file Microsoft.Common.targets quando è installato .NET 4.5 (verificare che in .NET 4.0 originale non sia stata definita la proprietà).

Problemi correlati