2010-08-23 27 views
19

Tôi đang đọc thông tin phiên bản của ứng dụng wpf của tôi, nhưng tôi không nhận được phiên bản chính xác như tôi đã viết trong tập tin AssemblyInfo.cs. Trong tập tin của tôi cóĐọc thông tin phiên bản Assembly của ứng dụng WPF

[assembly: AssemblyVersion("0.1.001")] 
[assembly: AssemblyFileVersion("0.0.001")] 

Tôi đọc thông tin phiên bản sử dụng mã này

System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); 

Tôi nhận được phiên bản này 0.1.1.0 và nó phải 0.1.001

Cảm ơn

Trả lời

23

Các thuộc tính Major, Minor, BuildRevision của lớp Version là loại int, không string. Vì vậy, khi chuỗi từ phiên bản lắp ráp được phân tích thành lớp Version, các phần của chuỗi này sẽ được chuyển đổi thành biểu diễn int. Cũng có những quy tắc đó số đầu tiên của quy định chuỗi phiên bản là Major thành phần của Version:

"1" - 1.0.0.0 
"1.2" - 1.2.0.0 
"1.2.3" - 1.2.3.0 
"1.2.3.4" 1.2.3.4 
+5

Nói cách khác, các số không hàng đầu không thể là một phần của giá trị phiên bản. Nếu bạn muốn hiển thị chúng, bạn sẽ phải định dạng chuỗi theo cách thủ công. – Tergiver

+0

ok hiểu, cảm ơn –

2

Trong MSDN article , nó nói rằng:

Tất cả các thành phần của phiên bản phải là số nguyên lớn hơn hoặc bằng 0

Vì vậy, nó là một trong hai làm tròn lên hoặc loại bỏ các số không đuôi để có được một số nguyên hợp lệ.

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