Копировать dll в выходной каталог exe при использовании внедрения зависимостей без ссылок? - PullRequest
3 голосов
/ 05 января 2011

У меня есть решение на C #, в котором я использую внедрение зависимостей для разрешения ссылок между dll. У меня есть exe-проект и некоторые другие dll-проекты, на которые exe не ссылается (он использует dll через контейнер IoC). Настройки проекта - это настройки Visual Studio по умолчанию, где он создает каждую DLL в своей папке. Поскольку exe не ссылается на dll, они никогда не копируются в выходной каталог exe и не обнаруживаются платформой IoC.

Как вы справляетесь с этим? Вы строите их все в одном каталоге? Использовать команды копирования после сборки? Или что-то еще?

Ответы [ 3 ]

5 голосов
/ 05 января 2011

Обычно я справляюсь с этим с помощью команды копирования после сборки (используя События сборки , поэтому они автоматические), которая помещает сборки зависимостей в общую папку.

Затем я проверяю, включена ли эта папка в путь поиска моего контейнера IoC, чтобы они были найдены.

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

2 голосов
/ 05 января 2011

Используйте команды копирования после сборки или измените выходной каталог для всех проектов на общий каталог

0 голосов
/ 05 января 2011

Я бы (и сделал) использовать команды копирования после сборки. Создайте файл .BAT, который делает все необходимые копии, прикрепите его к событию после сборки, и все готово.

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