You could do this:
- create a
solution.config
in your solution folder
in each project's app.config
, add this to your <appSettings>
node:
<appSettings file="solution.config">
....
</appSettings>
You would have to put symbolic links to your common solution.config
in each project folder - but you could have one single physical file that you share amongst the projects.
The <appSettings>
node is the only one that allows that sort of "cummulative" settings - those from the file specified in the file=
will be added to your app settings, but potentially overwritten by anything you specify explicitly in your app.config
.
On the other hand, yes, of course, you could use the database. We do that, too, in most of our projects, since we typically do have access to the database, but not to the file system in the client's server machines. I don't see why that should necessarily be a bad thing - we have settings for DEV, TEST and PROD in a table - so you have all your settings in one place - and we pick those settings we need when we need them. Works just fine - of course, some settings like the connection strings to the database cannot be stored there - but the bulk of our config info is. Again: I really don't see any reason why this should be a bad choice per se - so unless your source can back his/her statement up with some facts and reasons, I'd ignore it.