I have three projects in my C# 4 solution.
Here's a screenshot:
I've noticed that I've got app.config
and hibernate.cfg.xml
in my Test
project. This does seem right. I don't have an app.config
in my Data
project which is a problem because I want to use log4net
in my Data
project but I can't configure it if there's no app.config
there.
What's the best way to set up my solution? Should there be an app.config
for each project or for the solution as a whole? Do I need one for my Test
project? Have I organized it according to "best practise"?
I usually see config files at the highest layer; which is usually the UI or Test.
This makes sense (to me at least), because the application is directing the data layer to which repository it should be fetching the data from. Your test layer is probably going to go to a different place than your production application; so having config in the Data project wouldn't make much sense to me... it's the top layer that's "configuring" the bottom layers.