2009-03-05 32 views
9

Tôi muốn đặt ngày ứng dụng được xây dựng ở đâu đó trong ứng dụng. Nói về hộp. Bất kỳ ý tưởng làm thế nào điều này có thể được thực hiện? Tôi cần phải làm điều này cho C# nhưng tôi cũng đang tìm kiếm một ý tưởng chung, vì vậy bạn có thể trả lời điều này cho bất kỳ ngôn ngữ cụ thể khác với C#.Cách đặt ngày xây dựng ứng dụng ở đâu đó trong ứng dụng?

Trả lời

17

Thông thường chúng ta chỉ cần đi với của thực thi ngày sửa đổi cuối cùng. Điều này sẽ được thiết lập khi exe được xây dựng và thường không bao giờ thay đổi (ngắn của ai đó thực sự chỉnh sửa các tập tin). Khi tập tin được cài đặt, sao chép, di chuyển, vv, Windows không thay đổi giá trị đó.

DateTime buildDate = 
    new FileInfo(Assembly.GetExecutingAssembly().Location).LastWriteTime; 

Chúng tôi sử dụng kỹ thuật này cho các hộp thoại giới thiệu trong các ứng dụng C# và C++ của chúng tôi.

+0

Công trình này hoàn hảo. – Nikhil

+6

Nếu bạn đang làm việc với hội đồng GAC, điều này sẽ trở lại khi lắp ráp này đã được cài đặt. –

14

Số thứ ba của phiên bản lắp ráp là một ngày Julian với 0 = 01 tháng 1 năm 2000 nếu bạn đang sử dụng [assembly: ("1.0 *") AssemblyVersion]

ví dụ

DateTime buildDate = new DateTime(2000,1,1).AddDays(
    System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.Build 
); 
+0

Và, làm thế nào/ở đâu chính xác bạn làm điều đó, thực tế? "*" không được phép trong trường Thông tin Lắp ráp thông thường trong thuộc tính dự án. – Nyerguds

+1

Ah, đừng bận tâm. Nó chấp nhận "*" làm giá trị thứ ba trong hộp thoại thuộc tính nếu trường cuối cùng bị để trống. Cám ơn vì cái này. Trên một lưu ý liên quan, trường thứ tư (Revision) là dấu thời gian, nhưng nó phải được nhân với 2 trước khi nó có thể được sử dụng cho AddSeconds(). – Nyerguds

0

Thường có các từ khóa trong hệ thống kiểm soát mã nguồn của bạn cho loại điều này.

Nếu không, hãy nhìn vào bao gồm ngày và thời gian trong số phiên bản, hoặc đơn giản là tạo ra một tập tin mã nguồn nhỏ, trong đó có ngày tháng và thời gian, và được bao gồm trong xây dựng

2

Bạn should đang sử dụng điều khiển phiên bản - Subversion miễn phí. Sau đó, bạn có thể bao gồm một số từ hệ thống kiểm soát phiên bản sẽ xác định rõ ràng mã nguồn được sử dụng để tạo ứng dụng. Một ngày sẽ không làm điều đó. Có những ưu điểm khác nữa.

  • Toàn bộ lịch sử của tất cả các thay đổi đối với dự án.
  • Làm việc liền mạch với các nhà phát triển khác trên cùng một dự án.

EDIT: Nikhil đã thực hiện tất cả việc này. Nhưng for some incomprehensible reason anh ta cũng được yêu cầu bao gồm cả ngày. Tôi sẽ để lại câu trả lời này anyway, cho độc giả trong tương lai của câu hỏi này.

+0

Đó là chính xác những gì tôi đã giải thích, số sửa đổi là tất cả những gì bạn cần, đó là chính xác những gì chúng tôi có ngay bây giờ. Nhưng vì một lý do nào đó mà tôi không thể hiểu được, tôi đã được cho biết bao gồm ngày và giờ chính xác mà ứng dụng được xây dựng. – Nikhil

+0

Điều này không liên quan đến câu hỏi nhưng là lời khuyên chung chung. – Nikhil

+0

Tôi đã tự động thành công với https://www.nuget.org/packages/StampSvn.Fody/ – mamuesstack

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