2013-04-09 25 views
7

Mam trzy projekty w moim rozwiązaniu: projekt podstawowy oraz klient i serwer odwołujący się do bazy.Jak zsynchronizować wersje między projektami Visual C#?

Chciałbym móc ustawić wersję zestawu podstawowego pliku projektu i automatycznie ją propagować do serwera i klienta, aby ich wersje zawsze pasowały do ​​siebie. Idealnie byłoby to wstępnym krokiem do zsynchronizowania ich.

Czy ktoś wie, czy jest to możliwe, czy jak bym to robił?

Odpowiedz

7

Co robimy, jest bardzo podobny do Chrisa odpowiedź:

Mamy projekt o nazwie ProductVersion, gdzie «produkt» jest w rzeczywistości nazwa produktu. Wewnątrz znajduje się klasa statyczna o nazwie VersionInformation, która zawiera stałe ciągi znaków, w tym jeden o nazwie ProductVersion, w którym faktycznie ustawiamy informacje o wersji.

Potem w każdym projektu AssemblyInfo.cs pliku, nasz AssemblyVersion linia wygląda następująco:

[assembly: AssemblyVersion(Company.Product.VersionInformation.ProductVersion)] 

W twoim przypadku, ponieważ zarówno klient, jak i odniesienia serwerze projekt bazowy, może po prostu to coś podobnego w projekcie bazowym zamiast tworzyć osobny projekt.

+0

To jest idealne. Dziękuję Ci! –

5

Przenieś informacje o wersji do osobnego pliku (np. AssemblyVersion.cs) w katalogu głównym rozwiązania. Następnie usuń informacje o wersji z pliku AssemblyInfo.cs każdego projektu i dodaj udostępniony plik AssemblyVersion do każdego projektu jako łącze.

  1. prawym przyciskiem myszy projekt, kliknij przycisk Dodaj istniejący element
  2. Browse do udostępnionego pliku, kliknij małą strzałkę na przycisku Dodaj i wybierz Dodaj jako link
  3. Przeciągnij wynikowy plik do folderu Properties w ramach każdego projekt.
  4. ???
  5. Zysk!
+0

Fajne rozwiązanie, ale muszę powiedzieć, że Joel's jest czystszy dzięki naszej konfiguracji. Dzięki! –