2009-02-09 44 views
5

Tôi cần hiển thị số phiên bản .NET Compact Framework trên màn hình. Tôi đang sử dụng .NET CF 2.0 với Windows   CE 4.0.Số phiên bản trong ứng dụng .NET Compact Framework

Cho đến giờ, tôi đã bỏ qua hoàn toàn số phiên bản. Tôi có cần phải thêm bất cứ thứ gì vào lắp ráp không? làm thế nào để tôi lấy nó theo chương trình?


Thật không may điều này không áp dụng cho Compact Framework. Thuộc tính Application.ProductVersion không tồn tại trong Compact Framework. Tuy nhiên, câu trả lời mới nhất của bạn sẽ được áp dụng.

Một câu hỏi nữa: các thuộc tính này (chính, nhỏ, xây dựng, sửa đổi) được tự động tăng lên hay tôi đặt chúng bất cứ khi nào tôi muốn? Cách tôi nhìn thấy nó, bản sửa đổi sẽ được tự động tăng lên với mỗi bản dựng mới.

Trả lời

12

System.Reflection.Assembly.GetExecutingAssembly(). GetName(). Version.Major System.Reflection.Assembly.GetExecutingAssembly(). GetName(). Version.Minor System.Reflection.Assembly.GetExecutingAssembly(). . getName() Version.Build System.Reflection.Assembly.GetExecutingAssembly() getName() Version.Revision

Nguồn:.. http://msdn.microsoft.com/en-us/library/system.version.aspx

(chỉnh sửa)

Application.Prod uctVersion Property

Lấy phiên bản sản phẩm được liên kết với ứng dụng này.

Không có sẵn Trong khung nhỏ gọn Nhưng System.Reflection.Assembly.GetExecutingAssembly(). GetName().

Nguồn: http://msdn.microsoft.com/en-us/library/system.windows.forms.application.productversion.aspx

+0

Added Correction, Application.ProductVersion không có sẵn trong CF – VBNight

5
+0

Hoặc bạn có thể sử dụng 'ToString() 'không có tham số để lấy chuỗi phiên bản đầy đủ. –

1

Tôi biết đây là một câu hỏi cũ, nhưng đây là một giải pháp tôi thấy sử dụng Reflection và LINQ (đăng lại từ my answer here).

Đầu tiên, tôi đã thêm điều này vào AssemblyInfo.cs (thay thế chuỗi với bất cứ điều gì bạn muốn sử dụng):

[assembly: AssemblyInformationalVersion("1.0.0.0 Alpha")] 

Sau đó, bạn có thể sử dụng phương pháp này để rút ra khỏi các thuộc tính (tôi đặt nó bên trong một lớp tĩnh trong tập tin AssemblyInfo.cs). Phương thức nhận được là một mảng của tất cả các thuộc tính Assembly, sau đó chọn kết quả đầu tiên phù hợp với tên thuộc tính (và đưa nó vào kiểu thích hợp). Chuỗi InformationalVersion có thể được truy cập.

//using System.Reflection; 
//using System.Linq; 
public static string AssemblyInformationalVersion 
{ 
    get 
    { 
     AssemblyInformationalVersionAttribute informationalVersion = (AssemblyInformationalVersionAttribute) 
      (AssemblyInformationalVersionAttribute.GetCustomAttributes(Assembly.GetExecutingAssembly())).Where( 
       at => at.GetType().Name == "AssemblyInformationalVersionAttribute").First(); 

     return informationalVersion.InformationalVersion; 
    } 
} 

Để có được bình thường "AssemblyVersion" thuộc tính tôi sử dụng:

//using System.Reflection; 
public static string AssemblyVersion 
{ 
    get 
    { 
     return Assembly.GetExecutingAssembly().GetName().Version.ToString(); 
    } 
} 
0

Để hiển thị các phiên bản sản phẩm với .NET Compact Framework (thử nghiệm với với 2.0 và 3.5), bạn có thể sử dụng AssemblyHelper. getProductVersion() được định nghĩa bên dưới.

Ví dụ, nếu phiên bản lắp ráp được định nghĩa như dưới đây trong tệp AssemblyInfo.cs, kết quả của phương thức là "1.2.3".

Extract file AssemblyInfo.cs:

[assembly: AssemblyVersion("1.2.3")] 

Extract của AssemblyHelper.cs file:

using System; 
using System.Reflection; 

public static class AssemblyHelper 
{ 
    public static string getProductVersion() 
    { 
    Version assemblyVersion = Assembly.GetExecutingAssembly().GetName().Version; 
    return String.Format("{0}.{1}.{2}", assemblyVersion.Major, assemblyVersion.Minor, assemblyVersion.Build); 
    } 
} 
Các vấn đề liên quan