Mike has recently recommended a command line parser library for .NET called Param.NET. Personally, I don't think this sort of thing should be driven (as is param.net) by a configuration file. In fact, custom attributes could be put to some great use here.
I while I ago I tried and liked a different solution to the same problem using Attributes. Check it out here.
I think it's a cleaner design with less hassle and a nice use of the technology. I based a class on this with some modification, but this is a good place to start!