2009-03-05 10 views
9

Chciałbym umieścić datę, w której aplikacja została zbudowana gdzieś w aplikacji. Powiedz o polu. Jakieś pomysły, jak to zrobić? Muszę to zrobić dla C#, ale również szukam ogólnego pomysłu, więc możesz odpowiedzieć na to w przypadku dowolnego innego języka niż C#.Jak umieścić datę kompilacji aplikacji w aplikacji?

Odpowiedz

17

Zazwyczaj po prostu przejść z wykonywalnego ostatnia data modyfikacji. Zostanie to ustawione, gdy plik exe zostanie zbudowany i zazwyczaj nigdy się nie zmieni (w przeciwieństwie do kogoś, kto faktycznie edytuje plik). Po zainstalowaniu, skopiowaniu, przeniesieniu itp. System Windows nie zmienia tej wartości.

Używamy tej techniki w oknach dialogowych w naszych aplikacjach C# i C++.

+0

To działa idealnie. – Nikhil

+6

Jeśli pracujesz z zespołami GAC, zostanie zwrócony po zainstalowaniu tego zespołu. –

14

trzeci numer wersji montażowej jest datą Julian przy 0 = 1 Jan 2000 w przypadku korzystania z [montażowej: (. "1,0 *") AssemblyVersion]

np

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

I, jak/gdzie dokładnie to robisz, praktycznie? "*" nie jest dozwolone w normalnym polu Informacje o zespole we właściwościach projektu. – Nyerguds

+1

Ah, nieważne. Przyjmuje "*" jako trzecią wartość w oknie dialogowym właściwości, jeśli ostatnie pole jest puste. Dzięki za to. W powiązanej notatce czwartym polem (Revision) jest datownik, ale musi zostać pomnożony przez 2, zanim będzie można go użyć dla AddSeconds(). – Nyerguds

0

Zwykle są wyszukiwane w systemie kontroli kodu źródłowego dla tego rodzaju rzeczy.

Inaczej wyglądają w tym datę i godzinę w numerze wersji, lub po prostu tworząc plik kodu mały źródłowy, który zawiera datę i godzinę, a zostanie włączone do kompilacji

2

Użytkownik should używać kontroli wersji - Subversion jest za darmo. Następnie możesz dodać numer z systemu kontroli wersji, który jednoznacznie identyfikuje kod źródłowy użyty do zbudowania aplikacji. Data tego nie zrobi. Są też inne zalety.

  • Pełna historia wszystkich zmian w projekcie.
  • Płynnie współpracuj z innymi programistami nad tym samym projektem.

EDYCJA: Nikhil już to wszystko robi. Ale for some incomprehensible reason kazano mu również podać datę. I tak zamierzam pozostawić tę odpowiedź tutaj, dla przyszłych czytelników tego pytania.

+0

Dokładnie to wyjaśniłem, numer rewizji jest wszystkim, czego potrzebujesz, co jest dokładnie tym, co mamy teraz. Ale z jakiegoś powodu nie rozumiem, kazano mi podać dokładną datę i godzinę, kiedy aplikacja została zbudowana. – Nikhil

+0

Nie dotyczy to pytania, ale stanowi dobrą ogólną poradę. – Nikhil

+0

Pomyślnie zautomatyzowałem to za pomocą https://www.nuget.org/packages/StampSvn.Fody/ – mamuesstack

Powiązane problemy