我的 app.config 文件如下:
<?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>
我有以下(单独)类来获取配置:
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;
}
}
}
}
然而,当我点击这行代码时:
var processConfigurationSection = ConfigurationManager.GetSection("ProcessConfiguration") as ProcessesConfigurationSection;
我收到错误消息:
为其创建配置节处理程序时发生错误 ProcessConfiguration:无法加载类型 程序集中的“Configuration.ProcessConfigurationSection” '配置'。
我完全难过,如果有人能帮助我,我真的很感激。
答案 0 :(得分:45)
在行中:
<section name="ProcessConfiguration" type="Configuration.ProcessConfigurationSection, Configuration" />
名称“配置”应该引用您正在构建的DLL,请尝试检查并在需要时进行更正。
此外,我认为您可能有一个拼写错误,在您的代码中,类型名称为:
ProcessesConfigurationSection
(注意流程与流程)
答案 1 :(得分:3)
由于调用程序集无法在指定的程序集中加载类类型,因此引发了此错误。此类错误可能是由类型名称后面的空格引起的(发生在我身上),例如以下配置部分
type="Configuration.ProcessConfigurationSection , Configuration"
也会生成此错误。