Как заставить систему сборки Visual Studios понимать неуправляемые зависимости управляемых библиотек?

При построении управляемого кода Visual Studio правильно (и рекурсивно) копирует dll ссылочных управляемых проектов в выходную папку строящегося проекта.

Однако, если одна из этих ссылок представляет собой управляемую DLL, которая зависит от неуправляемых библиотек DLL, эти неуправляемые библиотеки DLL не копируются в выходную папку, даже если их соответствующие проекты находятся в том же решении и перечислены как зависимости управляемой библиотеки DLL.

Я понимаю, что эту проблему можно решить, если все проекты используют одну и ту же папку вывода. Мы уже делаем это для большинства проектов, но мы предпочитаем разделять папки вывода модульных тестов, вызывая вышеуказанную проблему для модульных тестов, которые используют управляемый Dll с неуправляемыми зависимостями.

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

Поэтому я хотел бы знать, есть ли способ заставить систему сборки понять, что она всегда должна копировать неуправляемые зависимости управляемой DLL всякий раз, когда решает скопировать управляемую DLL?