Разница между ссылками DLL? А использует?

Пожалуйста, объясните это любому. Этот вопрос помогает понять общие вещи

Вопрос:

В чем разница, когда вы добавляете DLL ссылка из одного проекта в другой с помощью опции «Просмотр» и «Добавить» DLL ссылка из проекта решения на другой проект и копирование-вставка из одного проекта в другой проект?

Я нашел ответ на Google

Ответ:

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

Но:

Я не знаю, каков этот процесс и какая разница, когда мы копируем и вставляем один проект в другой?

1

Решение

Когда вы копируете вставку из одного проекта в другой, зависимый проект добавляет ссылку на файл, который вы вставили, в каталог решения проекта.

Когда вы делаете копирование, вставьте dll одного проекта в каталог другого проекта, а затем добавьте его ссылку, перейдя в тот каталог, куда вы вставили dll. Затем VS только добавляет свою ссылку и копирует эту dll в свою папку bin и показывает вам (позволяет вам) все методы и свойства, которые она содержит.

Если вы вносите какие-либо изменения в исходное проектное решение, такие как добавление или изменение методов, то обновленное dll этого проекта недоступно в зависимом проектном решении.

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

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

3

Другие решения

Когда вы просто ссылаетесь на DLL, просматривая ее, VS копирует ее в выходной каталог зависимого проекта.

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

Когда вы добавляете ссылку на другой проект в решении, VS всегда будет брать самую последнюю и обновленную DLL, выведенную из этого проекта.

1

По вопросам рекламы [email protected]