Как Visual Studio знает, что моя DLL должна быть скопирована

Наше решение имеет папку "Lib", которая содержит DLL ("A.dll"), хранящуюся в системе контроля версий.

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

Website
- References
-  * Reference to A.dll from Lib folder below *
- Content
- Lib
-   A.dll (Build Action: Content, Copy to Output: Do not copy)
-   B.dll (Build Action: Content, Copy to Output: Do not copy)
- Migrations
- Views

A имеет ссылку на / использует B, но B не включена в качестве ссылки на веб-сайт.

Когда я нажимаю "compile", Visual Studio помещает B в папку "bin", как он узнал об этом? Даже если я оставлю B там, где он есть, но не позволю проекту "Веб-сайт" увидеть его (не включив его в проект), он все равно будет помещен в папку "bin".

Однако, если я поместил B в папку Migrations, он не будет скопирован в папку bin. Папка Lib и Migrations не имеют особых свойств против них (что я вижу).

Как это работает, документировано?

1 ответ

Что касается комментариев, то было объяснено, что причина, по которой он работает в этом экземпляре, заключается в том, что он искал B в том же месте, где нашел A.

Поскольку это помогло моему пониманию, я разместил его в качестве ответа на случай, если он пригодится кому-либо еще.

Спасибо Ганс за вашу помощь.

Другие вопросы по тегам