Использование одних и тех же модулей в нескольких проектах - PullRequest
6 голосов
/ 30 декабря 2010

Я использую Visual Studio 2010 и кодирую в VB.NET.

Моя проблема в том, что я собрал все написанные мной модули и намереваюсь повторно использовать и поместил их в отдельную папку.Когда я хочу добавить модуль из указанной выше папки в какой-либо конкретный проект, он берет копию модуля и помещает его в папку с исходным кодом проекта вместо ссылки на модуль в папке, содержащей все остальные модули.

Можно ли включить модуль в мой проект и оставить его в папке со всеми остальными модулями, чтобы, когда я улучшу модуль, это затронуло все проекты, которые используют / ссылаются на этот модуль.Вместо того, чтобы мне приходилось вручную копировать новый модуль во все проекты, которые используют / ссылаются на этот модуль.Прямо сейчас у меня есть несколько экземпляров одного и того же модуля, которые мне нужно обновить вручную, когда я улучшу код или добавлю функциональность?

Ответы [ 3 ]

8 голосов
/ 30 декабря 2010

Вы определенно на правильном пути, пытаясь минимизировать дублирование кода! Лучше всего скомпилировать код в многократно используемую библиотеку классов , которую вы можете использовать из нескольких проектов.

  1. Создайте новый проект «Библиотека классов» в Visual Studio.

  2. Переместите все свои модули в этот проект.

  3. Скомпилируйте этот проект и запомните расположение сгенерированного DLL-файла.

  4. Добавьте ссылку на этот файл DLL в каждый из других проектов, для которых вы хотите иметь возможность вызывать методы, предоставляемые вашими модулями.

Преимущество этого метода по сравнению с добавлением ваших отдельных файлов кода в каждый проект состоит в том, что если вы когда-нибудь обновите или измените код в библиотеке классов, все, что вам нужно будет сделать, это перекомпилировать библиотеку классов.

Кроме того, если вы планируете развертывать несколько различных приложений, использующих одни и те же модули, это позволит каждому из них динамически вызывать методы, представленные в составе библиотеки классов.

7 голосов
/ 30 декабря 2010

Решение, предложенное Marcel J. Kloubert, является лучшим.(потому что в настройке, которую вы описали, слишком легко случайно нарушить функциональность.)

Но вы можете сделать то, что просили, путем:
1) щелкните правой кнопкой мыши свой проект
2) выберите Добавить ->Существующий элемент
3) выберите ваш файл
4) щелкните мышкой по кнопке рядом с кнопкой Добавить
5) выберите Добавить как ссылку

0 голосов
/ 30 декабря 2010

Вы можете переместить модули в отдельный проект центральной библиотеки, который может быть включен в каждое решение ваших проектов.

В каждом проекте вы можете добавить ссылку на эту библиотеку, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...