У меня есть проект C # A, который использует DLL-оболочку .net и собственную DLL. Я добавляю DLL-оболочку .net в список ссылок проекта А. Так как DLL-оболочка работает только с собственной DLL-библиотекой, когда они находятся в одной и той же папке, необходимо скопировать собственную DLL-библиотеку в выходной каталог проекта A. Я достиг этого добавив собственную DLL в качестве файла содержимого в проекте A и установите его действие копирования, чтобы копировать, если новее. Это хорошо.
Если проект C # B имеет прямую ссылку на проект A, VS скопирует все зависимые файлы, используемые проектом A, в выходной каталог проекта B. Это означает, что DLL-оболочка и собственная DLL будут скопированы в выходной каталог проекта B также. Это тоже хорошо работает.
Затем у меня есть еще один проект C на C #, который напрямую относится только к проекту B, а не к проекту A. Интересно видеть, что VS не будет копировать нативную DLL в выходной каталог проекта C, что я и намерен чтобы сделать иначе, когда проект C использует функциональность проекта B и ищет собственную DLL для работы с DLL-оболочкой, он не найдет ее.
Может кто-нибудь объяснить, почему VS не копирует нативную DLL в выходной каталог проекта C? Каков механизм копирования цепочечных файлов в VS? Большое спасибо.