У меня есть CommonUtils lib, который я встроил в dll, который я ссылаюсь на несколько проектов. CommonUtils зависит от log4net.dll, который был установлен как ссылка на файл, а copy-local = true, когда была создана CommonUtils.dll. log4net.dll и CommonUtils.dll не находятся в GAC.
Все отлично работает в MyWorkingProject, где у меня есть только ссылка на файл CommonUtils.dll - log4net.dll отображается в выходном каталоге (так как это зависимость от CommonUtils.dll, но не ссылка на MyWorkingProject). Однако, если я создаю новый проект, чтобы добавить некоторые unittests: MyWorkingProjectTest и ссылку на проект MyWorkingProject, а затем снова ссылку на файл CommonUtils.dll здесь (я хочу использовать некоторые из CommonUtils), то при построении log4net.dll, который является зависимостью в обоих проектах ссылка и в ссылке на файл также не копируется в выходной каталог.
Кто-нибудь может объяснить, что здесь происходит? Не компилятор не знает, какой из файлов log4net.dll он должен захватить? Что-то я здесь делаю неправильно? Должен ли я сделать это каким-либо другим способом, чтобы log4net.dll явно скопировался? Имеет ли смысл, что я должен явно ссылаться на log4net?