What are the best practices around providing a smooth debug experience in Visual Studio 2008 when using dependency injection (DI)?
Specifically, suppose I have a solution with 3 projects:
MySolution: - ConsoleApp - ServiceInterface - ConcreteService
ConsoleApp has a reference to the ServiceInterface project, and uses a DI container to resolve the concrete type (from ConcreteService project).
When I start debugging, ConsoleApp will not be able to load the concrete type unless the ConcreteService.dll is present in the ConsoleApp bin\debug directory.
So the question is, how do I get the ConcreteService.dll into ConsoleApp's bin\debug folder?
Some options I've thought of are a post-build script, adding a project reference in ConsoleApp to ConcreteService and copying the dll by hand.
There are some pros/cons to all of these approaches, so I'm curious to see if there are other approaches and if not, which approach people prefer.