title: SettingsProviderAttribute replacement for application-level custom SettingsProvider
body: <p>In a .NET application, if you have specific Settings need, such as storing them in DB, then you could replace <code>LocalFileSettingsProvider</code> with a custom settings provider of your, examples:</p>
  
  <p><a href="http://www.codeproject.com/Articles/136152/Create-a-Custom-Settings-Provider-to-Share-Setting">Create a Custom Settings Provider to Share Settings Between Applications</a></p>
  
  <p><a href="http://www.codeproject.com/Articles/20917/Creating-a-Custom-Settings-Provider">Creating a Custom Settings Provider</a></p>
  
  <p>To declare the settings class (the one that inherits <code>ApplicationSettingsBase</code>) that you want to use a specific provider, you decorate it with <code>SettingsProviderAttribute</code> and pass your provider type as a parameter <code>[SettingsProvider(typeof(MyCustomProvider))]</code>, otherwise it will use the default <code>LocalFileSettingsProvider</code>.</p>
  
  <p>My question: <strong>Is there a configuration or a trick I could use to force my application to use my custom provider through-out the application without using an attribute?</strong></p>
  
  <p>The reason is that I am loading plugins via MEF and the plugins might be written via 3rd party and I don't want them to be concerned with how settings are being dealt with.</p>