Ситуация:
- Проект 1 представляет собой сборку в решении
- Проект 2 - это проект исполняемой сборки в том же решении
- Проект 2 содержит ссылку на проект (через ссылку "Добавить ссылку" ) в проект 1
- Проект 2 напрямую не ссылается на пространства имен/типы в Project 1 в коде
- В проекте 2 используется Ninject для динамической загрузки Project 1 и использования в нем классов реализации
Проблема:
- Несмотря на то, что для ссылки ссылка "Копировать локаль" установлена на "Истина", а ссылочная сборка не существует в GAC, ссылка на сборку не копируется в каталог сборки вывода
- Ninject впоследствии не находит сборку, и поэтому сбой/разрешение не выполняется
Этот процесс отлично подходит для идентичной установки, где некоторые классы в ссылочной сборке ссылаются напрямую, а также загружаются Ninject, поэтому я считаю, что причина такова: если VS обнаруживает, что никакие типы в ссылочной сборке не указаны в коде, он не будет копировать ссылочную сборку, даже если она добавлена в качестве ссылки с Copy Local = True.
Решение (ы):
- Найдите способ передачи VS, "Копировать локальный (я действительно это имею в виду)" = True - это было бы моим идеальным решением.
- Добавьте ссылку на файл для ссылки. Не очень хорошо, так как я теряю преимущества ссылки на проект (что может быть или не быть полностью в моей голове).
- Обратите внимание на сборку в некотором "токене" в коде. Messy - я хотел бы использовать список ссылок для поддержки списка сборок/модулей, которые я хочу включить.
- Послестроить шаги для копирования сборки. Несчастный, не идеальный.
Может ли кто-нибудь помочь с первым решением или предложить другое?