By other dependencies I mean abstract classes, and anything else.
I have a project in the form of a dll
which needs a certain interface
, IInput
. A test project requires this interface as well, so I placed this interface in my main project, which in turn is a separate exe assembly.
This is because eventually the main project will need to use this interface when I wire everything together. Now the problem I had was when I attempted to add a reference in the main project to the dll with a reference to the main project I recieved a circular dependency.
I've never had this problem before, nor do I know the best way to counter it. As a temporary fix I've moved the interface to the separate dll, but very shortly I will require it in the main project so I'm back at square one.
Edit:
I should have mentioned the design, so here goes.
Menu
Menu Tests
Runner
Menu has IInput which is actually a interface adapater for a third party library in order to allow unit testing.
So a menu needs this for input, but so will the runner. The runner project (the exe) will require input so I will need IInput again.