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





В Visual Studio добавьте каждый проект в одно и то же решение. Убедитесь, что вы используете ссылки на проект вместо прямых ссылок на файлы (т. Е. При просмотре сборки).
Ссылайтесь на A и B.
Я не думаю, что есть другой способ обойти то, о чем вы просите, кроме как явно добавить и то, и другое. Однако я не думаю, что добавление проектов ради копирования ссылок - жизнеспособное решение проблемы. Не все проекты, от которых зависит решение, обязательно нужно добавлять в решение. Это будет полностью зависеть от общей структуры вашего проекта, процессов, управления версиями, разделения труда и т. д.
К сожалению, вам придется вручную добавить оба. То же самое происходит и со мной, когда я использую NHibernate версии до 3.5: для этого требуются сборки как log4net, так и Iesi.Collections. Так что у меня нет другого выбора, кроме как вручную включить ссылку на оба варианта во все мои решения, реализующие NHibernate.
Конечно, это большая проблема, если у вас есть только библиотеки DLL. Если это проект, у вас есть кодовая база для самой Visual Studio, которая заранее предупредит вас об отсутствии ссылок.
По-видимому, существует элемент управления Telerik, который, когда вы переходите к dll и добавляете ее, он добавляет ряд других необходимых сборок. «Я этого не видел», - сказал другой программист. Было бы неплохо узнать, возможно ли это.
Как насчет добавления их в Global Assembly Cache?
Это довольно удобное решение, но, к сожалению, плохо масштабируется; если у вас появятся десятки проектов, вы заметите замедление загрузки slns и сборки. См. simple-talk.com/dotnet/.net-framework/… и связанные статьи. К вашему сведению