2012-08-13 25 views

Trả lời

6

Sử dụng thuộc tính VisualStudioVersion.

+0

Tạo một dự án trong VS2008 với những sản phẩm sau thêm vào sau khi '': PrintVisualStudioInfo; $ (CompileDependsOn) Đã biến sản lượng VS2008 thành Bình thường. Kết quả: Target PrintVisualStudioInfo: VisualStudioVersion: '' Mở VS2010 kết quả: PrintVisualStudioInfo: VisualStudioVersion: '10 .0' – WaffleSouffle

6

Vì nhận xét không được định dạng, đây là điều tra hiển thị fsimonazzi là chính xác. Vào năm 2008, VisualStudioVersion KHÔNG được đặt. Vào năm 2010 (và lên có lẽ) nó là.

Tạo một dự án trong VS2008 với những sản phẩm sau thêm vào sau khi <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />:

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

Hóa ra VS2008 lên đến bình thường. Kết quả:

Target PrintVisualStudioInfo: 
    VisualStudioVersion: '' 

Mở kết quả VS2010:

PrintVisualStudioInfo: 
    VisualStudioVersion: '10.0' 
5

Theo this post tài sản tồn tại bắt đầu với VS2012. Nó được định nghĩa trong tệp Microsoft.Common.targets khi .NET 4.5 được cài đặt (kiểm tra xem bản gốc .NET 4.0 không có thuộc tính được xác định).

Các vấn đề liên quan