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

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

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

Ответы на вопрос(1)

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

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

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

 NotDan05 янв. 2011 г., 19:23
На самом деле у нас есть событие сборки в основном проекте ... но проблема в том, что если он не меняется, и вы нажимаете F5, проекты, которые изменились, создаются, но копирование не происходит, так как exe didn ' т изменить / построить.
 drozzy15 июл. 2013 г., 18:33
@ReedCopsey Действительно, я думаю, что я добавлю жесткие ссылки на один «общий» проект, который (используя mef) создает конструктор регистрации и возвращает его. Хотелось бы, чтобы было более элегантное решение ...
 drozzy15 июл. 2013 г., 15:31
@ReedCopsey Нет «основного» проекта, если у вас несколько составных корней (например, служба wcf, mvc / web app). Добавление 20 ссылок на каждую не очень приятно. Вы нашли лучшее решение? Кроме того, как вы обрабатываете пути общих библиотек на производстве?
 Reed Copsey15 июл. 2013 г., 18:07
@drozzy Добавление ссылок не так уж и плохо, так как это одноразовая операция - да, это утомительно, но на самом деле это не так уж и сложно. Что касается разделяемых библиотек, то на самом деле это зависит только от множества вариантов, в основном в зависимости от того, какой контейнер IoC вы используете.
 Reed Copsey05 янв. 2011 г., 20:29
@NotDan: Да - это проблема со вторым подходом. Существуют варианты - однако, в основном - щелкните правой кнопкой мыши решение в обозревателе решений и выберите «Зависимости проекта» - убедитесь, что библиотеки добавлены в качестве зависимостей основного проекта. Это должно заставить их восстановить ...

Ваш ответ на вопрос