У меня есть цепочка зависимостей, которая выглядит следующим образом (упрощение для примера):
приложение
-> 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.
В моем случае я хочу их в подкаталоге из-за среды развертывания.