Использование одних и тех же модулей в нескольких проектах
Я использую Visual Studio 2010 и кодирования в VB.NET.
Моя проблема в том, что я собрал все написанные мной модули и собираюсь использовать их повторно и поместил в отдельную папку. Когда я хочу добавить модуль из указанной выше папки в какой-либо проект, он берет копию модуля и помещает его в папку с исходным кодом проекта, а не ссылается на модуль в папке, содержащей все остальные модули.
Можно ли включить модуль в мой проект и оставить его в папке со всеми остальными модулями, чтобы, когда я улучшу модуль, это затронуло все проекты, которые используют / ссылаются на этот модуль. Вместо того, чтобы мне приходилось вручную копировать новый модуль во все проекты, которые используют / ссылаются на этот модуль. Прямо сейчас у меня есть несколько экземпляров одного и того же модуля, которые мне нужно обновить вручную, когда я улучшу код или добавлю функциональность?
3 ответа
Вы определенно на правильном пути, пытаясь минимизировать дублирование кода! Лучше всего скомпилировать код в библиотеку классов многократного использования, которую вы можете использовать из нескольких проектов.
Создайте новый проект "Библиотека классов" в Visual Studio.
Переместите все свои модули в этот проект.
Скомпилируйте этот проект и запомните местоположение сгенерированного DLL-файла.
Добавьте ссылку на этот файл DLL в каждый из других проектов, для которых вы хотите иметь возможность вызывать методы, предоставляемые вашими модулями.
Преимущество этого метода по сравнению с добавлением ваших отдельных файлов кода в каждый проект состоит в том, что если вы когда-нибудь обновите или измените код в библиотеке классов, все, что вам нужно будет сделать, это перекомпилировать библиотеку классов.
Кроме того, если вы планируете развертывать несколько разных приложений, использующих одни и те же модули, это позволит каждому из них динамически вызывать методы, представленные в составе библиотеки классов.
Решение, предложенное Marcel J. Kloubert, является лучшим. (потому что в настройке вы описали слишком легко, чтобы случайно сломать функциональность.)
Но вы можете сделать то, что вы просили:
1) щелкните правой кнопкой мыши ваш проект
2) выберите Добавить -> Существующий элемент
3) выберите свой файл
4) нажмите на маленькую штуку рядом с надписью Добавить
5) выберите Добавить как ссылку
Вы можете переместить модули в отдельный проект центральной библиотеки, который может быть включен в каждое решение ваших проектов.
В каждом проекте вы можете добавить ссылку на эту библиотеку, если хотите.