2009-09-18 25 views
6

Nie jestem nawet pewien, czy wersja jest właściwym słowem, ale będzie musiała zrobić. Chcę zacząć umieszczać notatkę "Wersja x.x.xx" na naszych wewnętrznych aplikacjach na prośbę naszych użytkowników, aby mieli oni pojęcie, kiedy jest ona aktualizowana (i w przyszłości sprawi, że link wyświetli zmiany). Wygląda na to, że użycie pliku AssemblyInfo.cs jest dobrym pomysłem - pozwala automatycznie aktualizować wersję build +, która jest dobra (dla .DLL aplikacji internetowej).Wersja aplikacji sieci web ASP.NET

Czy to przyzwoite podejście? Następnie za każdym razem, gdy dochodzę do głównych/mniejszych kamieni milowych w mojej aplikacji. Mogę po prostu zaktualizować te ręcznie, prawda? Wszystko to zakłada, że ​​mogę pobrać informacje o wersji z mojej aplikacji. jakoś, czego nie mam pojęcia, jak to zrobić.

Odpowiedz

8

Mamy zrób to samo w naszej aplikacji, chociaż możesz dodaj numer wersji ręcznie, informacje o naszej wersji są dodawane do zespołu w ramach naszego procesu zautomatyzowanej kompilacji (korzystamy z dostosowanej usługi TFS 2008), co bardzo polecam. Oto kontrola, której używamy (po prostu umieszczamy ją na dole strony wzorcowej):

+0

+1 za "Pokaż mi kod" –

+0

Podam to. Dzięki wielkie. –

1

Automatyzujemy wersje za pomocą subversion, ccnet i nant.

Nasz skrypt analizuje ścieżkę folderu (/Branches/1.4.5/Source ...) i wyodrębnia numer wersji (1.4.5). Następnie pobieramy aktualny numer wersji z subversion i umieszczamy go na ostatniej pozycji wersji (tj. 1.4.5.346). Po uzyskaniu pełnego numeru wersji wstrzykiwamy go do wszystkich złożeń i zapisujemy w plikach version.txt, dzięki czemu można łatwo ustalić, która wersja jest obecnie wdrażana na serwerach WWW.

+0

Pokaż mi kod – Zote

0

Biorąc pod uwagę Assembly a, użyj a.GetName(). Version.ToString(), aby uzyskać wersję w kodzie.

GetName zwraca wartość AssemblyName.

Wersja zwraca wersję podaną w pliku AssemblyInfo.

2

Możesz używać numerów wersji w sposobie opisywania, zmieniając tylko numery w pliku AssemblyInfo podczas tworzenia nowych wersji, ale jest to lepsze, gdy jest połączony z systemem kontroli kodu źródłowego. Korzystamy z projektów CrusieControl.NET i Web Deployment, aby ustawić numer wersji, ale jestem pewien, że inni będą mieli inne sugestie.

Ponadto można uzyskać numer wersji z skompilowanego WWW za pomocą tego kodu:

System.Reflection.Assembly.GetExecutingAssembly.GetName.Version.ToString 

Jeśli działa w trybie debugowania, zanim go skompilować pokaże 0.0.0.0 ale można to sprawdzić i wyświetlaczem „Rozwój” lub coś w tym rodzaju, aby pokazać sobie, że jest uruchomiony lokalnie (nie to, że nie wiem, ale jeśli kiedykolwiek widzę 0.0.0.0 wiesz coś jest nie tak.

nadzieję, że pomoże

+0

Niektóre nawiasy błędy ... GetExecutingAssembly(). GetName(). Version.ToString(); – Mayo

+0

Nigdy nie używałam CruiseControl (lub nAnt jako Charles mentioend), więc będę musiał również w to zaglądać. Więcej narzędzi do mojego paska. Dzięki! –

1

To nie jest zły pomysł. Rozwiązaniem uzyskać ASP.NET Web App wersja DLL jest prosta:

VB.NET

My.Application.Info.Version (VB.NET)

C#

uzyskać dostęp do Mojego nazw jak pokazano tutaj http://www.codeproject.com/KB/cs/MyNamespace.aspx

znacznie łatwiejsze niż przy użyciu tony kodu.

Powiązane problemy