2010-08-01 9 views
21

Obecnie mam 4 rozwiązania, które są niezależnymi projektami, jednak istnieje sporo zduplikowanych kodów, jeśli chodzi o kilka obszarów aplikacji.Najlepszy sposób na pracę z wieloma projektami/rozwiązaniami w Visual Studio?

W tej chwili jest to po prostu kilka formularzy i związany z nimi kod.

Kiedy chcę coś zmienić lub poprawić, muszę skopiować i wkleić do wszystkich odpowiednich projektów.

Spojrzałem na tworzenie nowego projektu w ramach jednego z rozwiązań dla biblioteki .dll/class, ale czułem, że było to niepoprawne. (Proszę powiedzieć, jeśli się mylę).

Ponieważ jest to komponent dla wszystkich aplikacji, postanowiłem stworzyć nowe rozwiązanie dla biblioteki .dll/class i mam zamiar przenieść udostępniony kod do tego - ale nigdy wcześniej nie przeszedł tej trasy, Jakie są moje opcje tutaj?

Czy mogę włączyć to rozwiązanie do innych, jeśli chcę wprowadzić prostą zmianę i zaktualizować je we wszystkich projektach lub zamiast tego, czy zawsze powinienem pracować nad komponentem udostępnionym w oddzielnej instancji programu Visual Studio , poza aplikacjami, które go używają?

Odpowiedz

16

To jest właśnie właściwy sposób na poradzenie sobie z tą sytuacją.

Można obejmować projekty w wielu rozwiązaniach, klikając prawym przyciskiem myszy i wybierając opcję Dodaj rozwiązanie istniejącego projektu ...

Wszelkie zmiany wprowadzone następnie pojawi się we wszystkich rozwiązaniach. Jedynym problemem, który prowadzi do tego, jest możliwość złamania jednego rozwiązania z drugiego. To tutaj automatyzacja opiera się na zatwierdzeniu do kontroli źródła.

+1

Dziękuję za to. - Żeby było jasne, powinienem tworzyć samodzielne rozwiązania dla wspólnych funkcji, a następnie przechodzić do innych rozwiązań i decydować się na dodanie projektu? ... Powodem, dla którego nie lubiłem dodawać nowego projektu bezpośrednio do istniejącego rozwiązania, było to, że myślałem, że w jakiś sposób wiąże to z tym rozwiązaniem i można go tam wykorzystać tylko - czy jestem w błędzie? – Wil

+1

Możesz utworzyć projekt w istniejącym rozwiązaniu i dodać go do innych. Następnie możesz dodać odniesienie do projektu w projektach, które już istniały. – pdr

+1

@pdr - Nie mogę powiedzieć, że naprawdę zrozumiałem cię od razu, ale po prostu wypróbowałem to (przyznane tylko z udostępnionym msgbox - ale musisz gdzieś zacząć!) I nie mogę uwierzyć, jak łatwo i prosto to napiszę był. Wielkie dzięki za pomoc. – Wil

3

Przeniesienie wspólnego kodu do osobnego zestawu współdzielonego jest doskonałą opcją.

Jedną z rzeczy do rozważenia jest utrzymanie wspólnej logiki biznesowej lub kodu typu obiektu biznesowego oddzielnie od kodu związanego z interfejsem użytkownika, np. Niestandardowych elementów sterujących - jeśli musisz wtedy mieć dwa wspólne zestawy. To jest początkowo więcej pracy, ale ułatwia to dalszą pracę, gdy trzeba zmienić ustawienia interfejsu użytkownika lub zmienić używany pakiet kontrolny.

+0

Wielkie dzięki za pomoc – Wil

10
  1. Put wspólne kody w oddzielnych Rozwiązanie/projekt jako Class Library,
  2. W poście build zdarzenie wspólnych projektów skopiować dll do określonego katalogu,
  3. Dodaj współdzielonych dll z tego katalogu do innych projektów/rozwiązań

Robiąc to za każdym razem, gdy budujesz swoje projekty konsumenckie, będą one automatycznie używać najnowszych bibliotek dll.

+0

Wielkie dzięki za pomoc. – Wil

+0

znacznie lepiej niż współdzielenie istniejących projektów we wszystkich rozwiązaniach, jedną rzeczą, która może komplikować, są automatyczne kompilacje i ciągła integracja, ale wszystkie możliwe – mikus

Powiązane problemy