Как настроить msbuild / MSVC для развертывания зависимых файлов зависимых сборок - PullRequest
3 голосов
/ 16 марта 2012

У меня есть цепочка зависимостей, которая выглядит следующим образом (упрощение для примера):

приложение -> foo (содержит foo.dll) -> bar (содержит bar.dll и bar_data.xml)

зависимые файлы правильно помечены как «копировать, если новее» в файле данных и «скопировать локально» в ссылках.

  • bar / bin / Debug правильно содержит bar.dll и bar_data.xml
  • foo / bin / Debug правильно содержит foo.dll, bar.dll и bar_data.xml
  • application / bin / Debug содержит только foo.dll и bar.dll (и app.exe), но не bar_data.xml

Если я сделаю приложение зависимым от foo и bar, тогда я правильно получу все три файла.

Я не нашел ничего ни в msdn, ни в stackoverflow, покрывающих этот случай.

MSBuild не получает ссылки на ссылочный проект - не работает, если у вас есть ориентированный граф зависимостей, а не дерево (приложение ссылается на foo и baz, которые оба ссылаются на панель) .

Как заставить MSBuild автоматически копировать все косвенные ссылки в выходную (bin) папку и / LinkResource в Visual Studio 2010 - работает только на ".pdb" и ".xml "файлы с тем же именем, что и у проекта, хотя пример Алекса , кажется, ближе к тому, что мне нужно.

редактирование:

Пометка файлов для развертывания (baz_data.xml) как «linkresource» работает, если вы хотите, чтобы файлы находились в том же месте, что и dll.

В моем случае я хочу их в подкаталоге из-за среды развертывания.

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