Mam aplikację C# WinForms w Visual Studio 2010, z której korzystają dwaj różni klienci. Podstawowa funkcjonalność aplikacji jest taka sama dla każdego klienta, ale niektóre linie kodu (nazwy procedur składowanych, zasoby, niektóre zachowania) są różne w różnych wersjach. Do tej pory zachowałem aplikację w tym samym projekcie i użyłem dyrektyw preprocesora podczas budowania/publikowania, aby przełączać się między tym, z którego wdrożenia korzystać. Jednak zakres projektu urósł do punktu, w którym nie jest to już możliwe.Obsługa i wdrażanie dwóch wersji aplikacji jednocześnie
Ponieważ tak dużo kodu jest udostępniane, staram się unikać powielania plików kodu źródłowego. Zastanawiam się, jakie jest najlepsze podejście do utrzymania aplikacji, która wymaga jednoczesnego wdrażania różnych wersji.
Dyrektywy preprocesora nie powinny być używane do obsługi gałęzi. –
Uzgodnione. Zaczynało się to od małej, wewnętrznej aplikacji, którą interesowali się klienci zewnętrzni, dlatego potrzebowaliśmy szybkiego rozwiązania problemu separacji. – WickerPopstar