title: ConfigurationManager.GetSection Gives Error "Could not load type....from assembly..."
body: <p>My <em>app.config</em> file is as follows:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
  &lt;configuration&gt;
      &lt;configSections&gt;
          &lt;section name="ProcessConfiguration" type="Configuration.ProcessConfigurationSection, Configuration" /&gt;
      &lt;/configSections&gt;
      &lt;ProcessConfiguration&gt;
          &lt;processes&gt;
              &lt;process name="Process1" /&gt;
          &lt;/processes&gt;
      &lt;/ProcessConfiguration&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p>I have the following (separate) classes to get the configuration:</p>
  
  <pre><code>namespace Configuration
  {
      using System.Configuration;
  
      public class ProcessesConfigurationSection : ConfigurationSection
      {
          [ConfigurationProperty("processes", IsDefaultCollection = false)]
          [ConfigurationCollection(typeof(ProcessCollection))]
          public ProcessCollection Processes
          {
              get
              {
                  return (ProcessCollection)base["processes"];
              }
          }
      }
  }
  
  namespace Configuration
  {
      using System.Configuration;
  
      public class ProcessCollection : ConfigurationElementCollection
      {
          public ProcessConfig this[int index]
          {
              get
              {
                  return (ProcessConfig)BaseGet(index);
              }
  
              set
              {
                  BaseAdd(index, value);
              }
          }
  
          protected override object GetElementKey(ConfigurationElement element)
          {
              return ((ProcessConfig)element).Name;
          }
  
          protected override ConfigurationElement CreateNewElement()
          {
              return new ProcessConfig();
          }
      }
  }
  
  namespace Configuration
  {
      using System.Configuration;
  
      public class ProcessConfig : ConfigurationElement
      {
          [ConfigurationProperty("name", IsRequired = true, IsKey = true)]
          public string Name 
          {
              get
              {
                  return (string)this["name"];
              }
              set
              {
                  this["name"] = value;
              }
          }
      }
  }
  </code></pre>
  
  <p>However when I hit this line of code:</p>
  
  <pre><code>var processConfigurationSection = ConfigurationManager.GetSection("ProcessConfiguration") as ProcessesConfigurationSection;
  </code></pre>
  
  <p>I get the error which states:</p>
  
  <blockquote>
    <p>An error occurred creating the configuration section handler for
    ProcessConfiguration: Could not load type
    'Configuration.ProcessConfigurationSection' from assembly
    'Configuration'.</p>
  </blockquote>
  
  <p>I'm completely stumped, if anyone can help me out I'd really appreciate it.</p>