Зависимости и ссылки - Что именно я должен ссылаться? - PullRequest
5 голосов
/ 06 ноября 2008

Мне интересно, что включить при создании моего проекта. У меня есть библиотека, на которую я должен ссылаться для своего проекта, но эта библиотека сама имеет 10 зависимостей. Должен ли я также ссылаться на эти зависимости или я должен скопировать их в выходной каталог, используя событие после сборки?

Какая лучшая практика?

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

Я использую Visual Studio.

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

Спасибо.

Ответы [ 3 ]

2 голосов
/ 06 ноября 2008

Это просто мнение. В любом случае будет работать.

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

Другим вариантом является размещение ссылки на них в вашем проекте - как в каталоге ресурсов. Установите для этого параметра значение BuildAction = None и CopyToOutputDirectory = CopyIfNewer

1 голос
/ 08 марта 2009

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

Для частных сборок (не входящих в GAC) Visual Studio по умолчанию скопирует ссылочные сборки (и их зависимости) в выходной каталог вашего проекта.

Для сборок в GAC Visual Studio по умолчанию не копирует указанную сборку в выходной каталог вашего проекта.

В обоих случаях вы можете изменить поведение, изменив свойство ссылки «Копировать локально».

ИМХО, это отличная особенность среды сборки. В неуправляемом мире вы должны следить за зависимостями ваших зависимостей (обычно через события до или после сборки).

1 голос
/ 06 ноября 2008

Полагаю, вы работаете в Visual Studio.

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

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

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

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