My app.config file is as follows:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="ProcessConfiguration" type="Configuration.ProcessConfigurationSection, Configuration" />
</configSections>
<ProcessConfiguration>
<processes>
<process name="Process1" />
</processes>
</ProcessConfiguration>
</configuration>
I have the following (separate) classes to get the configuration:
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;
}
}
}
}
However when I hit this line of code:
var processConfigurationSection = ConfigurationManager.GetSection("ProcessConfiguration") as ProcessesConfigurationSection;
I get the error which states:
An error occurred creating the configuration section handler for ProcessConfiguration: Could not load type 'Configuration.ProcessConfigurationSection' from assembly 'Configuration'.
I'm completely stumped, if anyone can help me out I'd really appreciate it.
In the line:
<section name="ProcessConfiguration" type="Configuration.ProcessConfigurationSection, Configuration" />
The name 'Configuration' should refer to the DLL that you re building, please try checking this and correct if needed.
Also I think you may have a typo, in your code the type name is:
ProcessesConfigurationSection
(Note the Processes vs Process)