2008-10-03 3 views
1

Если у меня есть сборка (A), которая ссылается на другую сборку (B). Я хочу ссылаться на A в проекте, я добавляю ссылку и копирует A в мой каталог BIN. Он также не копирует B, хотя A зависит от него, поэтому код не компилируется. Как я могу настроить вещи так, чтобы всякий раз, когда я ссылаюсь на A, оба A и B копируются в мой каталог bin?Зависимости сборки от проектов .Net

ответ

3

Я не думаю, что есть какой-нибудь способ, что вы просите, кроме явно добавить оба. Я не думаю, что добавление проектов ради копирования ссылок является жизнеспособным решением проблемы. Не все проекты, от которых зависит решение, должны быть добавлены к решению. Это полностью повлияет на вашу общую структуру проекта, процессы, управление источниками, разделение труда и т. Д.

4

В Visual Studio добавьте каждый проект в одно и то же решение. Убедитесь, что вы используете ссылки на проект вместо прямых ссылок на файлы (например, просмотр сборки).

+0

Это довольно удобное решение, но, к сожалению, оно плохо масштабируется; если вы вырастут до десятков проектов, вы заметите замедление загрузки slns и построения. См. Http://www.simple-talk.com/dotnet/.net-framework/partitioning-your-code-base-through-.net-assemblies-and-visual-studio-projects/ и связанные статьи. FYI – Pat 2012-07-20 20:30:15

0

К сожалению, вам придется вручную добавить оба. Это то, что происходит со мной, и всякий раз, когда я использую версии NHibernate до 3.5, это требует как сборок log4net, так и Iesi.Collections. Поэтому у меня нет выбора, кроме как вручную включить ссылку на оба моих решения, которые реализуют NHibernate.

Это больше проблема, конечно, если у вас есть только DLL. Если это проект, который у вас есть в базе Visual Studio, вы заранее предупредите, что ссылки отсутствуют.

+0

Очевидно, есть элемент управления Telerik, который, когда вы просматриваете DLL и добавляете его, добавляет еще несколько необходимых сборок. Я этого не видел, рассказал другой программист. Было бы неплохо узнать, возможно ли это. – 2008-10-03 05:53:07

0

Как насчет добавления их в глобальный кэш сборок?

Смежные вопросы