Mam tło Java, więc jestem przyzwyczajony do tego, że Maven zajmuje się problemem związanym z pobieraniem i aktualizowaniem zależności. Ale w środowisku .NET nie znalazłem jeszcze dobrego sposobu na zarządzanie wszystkimi tymi zewnętrznymi zależnościami.W jaki sposób udostępniasz zewnętrzne zależności między rozwiązaniami Visual Studio?
Głównym problemem jest to, że masowo produkować rozwiązania i wszystkie one zależą od tych samych dll trzeciej strony. Ale nie chcę utrzymywać oddzielnych kopii każdego komponentu w ramach każdego rozwiązania. Potrzebuję więc sposobu na połączenie wszystkich różnych rozwiązań z tym samym zestawem bibliotek dll.
Zdałem sobie sprawę, że jednym z rozwiązań może być włączenie bibliotek zewnętrznych do "projektu bibliotecznego", który jest zawarty we wszystkich rozwiązaniach, i niech inne projekty odwołują się do nich za jego pośrednictwem. (Lub po prostu pamiętaj, aby odwołać się do zewnętrznych bibliotek dll z tego samego miejsca dla wszystkich projektów.)
Ale czy są jakieś lepsze sposoby na zrobienie tego? (Najlepiej za pomocą wtyczki do Visual Studio.)
Spojrzałem na Visual Studio Dependency Manager i wygląda na to, że idealnie pasuje, ale czy ktoś próbował go naprawdę? Widziałem także porty .NET w Maven, ale niestety nie byłem pod wrażeniem ich statusu. (Ale proszę śmiało polecić każdemu, jeśli uważasz, że powinienem spróbować jeszcze raz.)
Jaki byłby najmądrzejszy sposób rozwiązania tego problemu?
Aktualizacja:
zdałem sobie sprawę, że muszę wyjaśnić, co mam na myśli z linkami do tego samego zestawu dll.
Jedną z rzeczy, które staram się tutaj osiągnąć, jest uniknięcie sytuacji, w której różne rozwiązania odnoszą się do różnych wersji każdego z komponentów. Jeśli zaktualizuję komponent do nowej wersji, powinien on zostać zaktualizowany dla wszystkich rozwiązań podczas następnej kompilacji. Zmusiłoby to mnie do upewnienia się, że wszystkie rozwiązania są aktualne z najnowszymi komponentami.
Aktualizacja 2: Należy pamiętać, że jest to stara pytanie zadane przed narzędziami jak NuGet lub OpenWrap istniał. Jeśli ktoś chce bardziej aktualny, proszę śmiało, a ja zmienię zaakceptowaną odpowiedź.
Jakiego rodzaju narzędzia kontroli źródła używasz? –
SVN, ale nie jest to wymagane do dobrego rozwiązania. Mogę łatwo zmienić środowisko. –