2015-10-25 16 views
12

Sử dụng windows 10, nâng cấp từ windows 8 => 8.1 => 10 Khi tôi sử dụng mã này.System.Environment.OSVersion trả về phiên bản sai

OperatingSystem os = System.Environment.OSVersion; 

Các os.Version = {} 6.2.9200.0 System.Version

tôi đọc này là do phiên bản đó là manifested for nhưng tôi không hiểu điều đó có nghĩa.

Tôi muốn phiên bản hệ điều hành chính xác vì tôi đang ghi chuỗi tác nhân người dùng trên dịch vụ web và muốn xác định chính xác phiên bản cửa sổ để được hỗ trợ. cách dễ nhất để có được điều đó để báo cáo chính xác phiên bản chính xác là gì?

Trả lời

14

Windows 10 trả về chuỗi đó trừ khi bạn tuyên bố rằng ứng dụng của bạn tương thích bằng cách sử dụng tệp kê khai. Để làm như vậy thêm một app.manifest (click chuột phải dự án của bạn -> Add -> New Item -> Ứng dụng Manifest File) sau đó bỏ ghi chú dòng sau:

<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /> 

Bạn có thể làm điều tương tự cho Windows Vista lên Windows 10. Tất cả đều trong phần giống nhau:..

<application> 
    <!-- A list of the Windows versions that this application has been tested on and is 
     is designed to work with. Uncomment the appropriate elements and Windows will 
     automatically selected the most compatible environment. --> 

    <!-- Windows Vista --> 
    <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />--> 

    <!-- Windows 7 --> 
    <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />--> 

    <!-- Windows 8 --> 
    <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />--> 

    <!-- Windows 8.1 --> 
    <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />--> 

    <!-- Windows 10 --> 
    <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /> 

</application> 

Và bây giờ khi bạn chạy ứng dụng của bạn nó sẽ báo cáo chính xác 10,0 * 0 phiên bản

+0

Cảm ơn, mà làm việc cho một biên dịch debug, nhưng khi tôi biên dịch cho phát hành nó vẫn trả về phiên bản windows 8.1. "NT 6.2". tôi đã bỏ lỡ những gì? – pgee70

+1

@ pgee70 Không có gì khác. Tôi đã thử kết thúc và nó hoạt động cả trong bản phát hành và gỡ lỗi. Chỉ cần đảm bảo rằng đó là exe bạn đang triển khai và trong cấu hình dự án của bạn trong tab Ứng dụng mà tệp kê khai chính xác được bao gồm như bạn có thể thấy [ở đây] (http://i.imgur.com/WxuZ8KW.png?1) – Nasreddine

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