2010-04-01 11 views
9

Mam warstwę dostępu do danych (DAL) zapisaną w programie ASP.NET 3.5 i korzystającą z bibliotek wzorców Microsoft & (zwaną dalej P & P) w celu uzyskania dostępu do danych. Zainstalowałem P & P i znajduje się on w moim GAC, więc logicznie, mój DAL odwołuje się do niego w GAC. Dlatego biblioteki P P & nigdy nie są ściągane do folderu bin mojego DAL.Do GAC, czy nie do GAC?

Korzystam z tego projektu DAL w co najmniej pięciu (więcej niż to, ale jestem zbyt leniwy, aby spróbować zliczyć wszystkie) różnych stron internetowych. I wszystko to działa dobrze dla mnie, ponieważ jestem jedynym programistą, który pracuje na tych stronach.

Ale teraz mam innych programistów, którzy będą pracować nad niektórymi z tych witryn.

Problem: jeśli deweloper projektu DAL ciągnie w dół z naszego repozytorium kodu, to nie będzie budować dla nich, jeśli nie mają one P & bibliotek P zainstalowane.

Moje pytanie: należy spodziewać twórcy instalacji bibliotek P & p, czy mam po prostu zrzucić je w folderze bin i być z nim zrobić?

Zdaję sobie sprawę, że zrzucenie ich do folderu bin jest prawdopodobnie najłatwiejszym sposobem na rozwiązanie tego problemu, ale nigdy nie byłem wielkim fanem folderu bin, jeśli mogę zamiast tego odwołać się do nich w GAC.

+0

czy będą musiały zmienić kod DAL? – Nix

+0

Nie, nie będą. Myślę, że widzę, dokąd zmierzasz z tym pytaniem. Rozważałem tylko skompilowanie go do własnej biblioteki DLL. – Jagd

+0

Dzięki za wszystkie komentarze na ten temat.Szczerze mówiąc, nie sądzę, że istnieje poprawna odpowiedź na to pytanie, ponieważ w dużej mierze wynika to z preferencji programisty (ów). Mimo to uznałem najbardziej głosowaną odpowiedź za poprawną. – Jagd

Odpowiedz

9

Jest to w dużej mierze stylistyczne preferencje dla określonej grupy roboczej. Mam tendencję do faworyzowania witryn związanych z pakowaniem w taki sam sposób, w jaki pakuję aplikacje klienckie: z wszystkimi wymaganymi plikami binarnymi spoza platformy .NET w folderze bin, pracując z założeniem, że jakakolwiek maszyna, do której są one kopiowane/zainstalowane, nie będzie mieć niczego w GAC. Mój zespół w pracy sprawia, że ​​nasze zespoły innych producentów są sprawdzane w kontroli kodu źródłowego jako pliki binarne i oznaczane jako zależności referencyjne, dzięki czemu wszyscy pracują na tej samej stronie z tymi samymi plikami binarnymi i nigdy nie musimy się martwić różnicami w instalacji między maszynami programistów.

GAC może być wygodnym mechanizmem oszczędzającym miejsce, ale preferuję spójność między środowiskami programistów dostarczonymi przez "inlining" plików.

1

Po pracy nad projektami z uzależnieniami GAC w przeszłości, zawsze było mylące i trudne do skonfigurowania projektów poprawnie, powodując wszelkiego rodzaju opóźnienia dopiero zaczyna. Może się to stać większym problemem podczas opracowywania nowych wersji DAL. Mogło to zadziałać dobrze, gdy grasz solo, ale naprawdę uważam, że teraz, gdy masz większy zespół, rozważasz kosz wysypisk.

0

Myślę, że powinieneś dać im opcję robienia obu.

Dla leniwych udostępniają pliki DLL pp, a także podpisaną bibliotekę DAL DLL. Aby bardziej doświadczeni mogli je zbudować, upewnij się, że wiedzą, że potrzebują P & P, a wszelkie zmiany w bibliotece DLL będą musiały zostać pobrane.

Zawsze faworyzuję biblioteki współdzielone, aby były gac'ed szczególnie po stronie serwera. Dla klientów ogólnie lubię pakować do kosza.

Powiązane problemy