title: C# App.config on a per-user basis
body: <p>I'm writing an application that has some application level configurations, but also has some configurations that should be done on a per-user basis.</p>
  
  <p>I'm writing a config section for BrowserStack to use the App.config file (per <a href="https://msdn.microsoft.com/en-us/library/2tw134k3.aspx" rel="nofollow">msdn</a>) which has let me define the important things that need to be stored, however, there are things that belong in a config file that don't belong in version control. In this particular instance <code>browserstack.user</code> and <code>browserstack.key</code> (which are retrieved from <a href="https://www.browserstack.com/automate/c-sharp" rel="nofollow">their documentation</a>) belong in a separate config file and they shouldn't be checked in.</p>
  
  <p>Does c# configuration allow for this kind of behavior, or would I have to modify my config section to do this? (Included below for reference)</p>
  
  <pre><code>public class BrowserStackSettings : ConfigurationSection
  {
      [ConfigurationProperty("hubUrl", DefaultValue = "http://hub-cloud.browserstack.com/wd/hub/", IsRequired = false)]
      public string HubUrl
      {
          get
          {
              return (string)this["hubUrl"];
          }
          set
          {
              this["hubUrl"] = value;
          }
      }
  
      [ConfigurationProperty("user", IsRequired = true)]
      public string User
      {
          get
          {
              return (string)this["user"];
          }
          set
          {
              this["user"] = value;
          }
      }
  
      [ConfigurationProperty("key", IsRequired = true)]
      public string Key
      {
          get
          {
              return (string)this["key"];
          }
          set
          {
              this["key"] = value;
          }
      }            
  }
  </code></pre>