Очень странная проблема в Visual Studio, когда референсы ссылаются "в обратную сторону".
Обычно референсы между проектами выглядят вот так:
> CommonProject
/
-> Project1 -> CommonProject
MainProject -> Project2 -> CommonProject
-> Project3 -> CommonProject
\
> SomeThirdPartyLibrary
MainProject — это startup project (.exe).
В этих случая Visual Studio после билда копирует в папку bin/ результаты билда тех проектов, от которых зависит startup project. Т.е. в папке MainProject/bin/Debug/ мы получаем
MainProject.exe
CommonProject.dll
Project1.dll
Project2.dll
Project3.dll
SomeThirdPartyLibrary.dll
HO!
Если солюшен построен по принципу IoC, то референсы получаются такими:
MainProject -> CommonProject
-> SomeThirdPartyLibrary
Project1 -> CommonProject
Project2 -> CommonProject
Project3 -> CommonProject
и в папке MainProject/bin/Debug/ мы получаем всего три файла:
MainProject.exe
CommonProject.dll
SomeThirdPartyLibrary.dll
Как правильно сделать так, чтобы при нажатии F5 проекты Project1,2,3 не только билдились, но и копировались в MainProject/bin/Debug/ ?