C# ConfigurationManager.GetSection给出错误“;无法从程序集加载类型…“;
我的app.config文件如下所示:C# ConfigurationManager.GetSection给出错误“;无法从程序集加载类型…“;,c#,app-config,system.configuration,C#,App Config,System.configuration,我的app.config文件如下所示: <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="ProcessConfiguration" type="Configuration.ProcessConfigurationSection, Configuration" /> </configSe
<?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>
但是,当我点击这行代码时:
var processConfigurationSection = ConfigurationManager.GetSection("ProcessConfiguration") as ProcessesConfigurationSection;
我得到的错误是:
为创建配置节处理程序时出错
ProcessConfiguration:无法加载类型
来自程序集的“Configuration.ProcessConfigurationSection”
“配置”
我完全被难住了,如果有人能帮我,我会非常感激的。在这行:
<section name="ProcessConfiguration" type="Configuration.ProcessConfigurationSection, Configuration" />
(注意进程与进程)引发此错误是因为调用程序集无法在指定程序集中加载类类型。此错误可能是由类型名称(发生在我身上)后的空格引起的,例如下面的配置部分
type="Configuration.ProcessConfigurationSection , Configuration"
也将生成此错误 您需要使用调试工具来调试它,只需确保在尝试调试之前以管理员身份运行它、打开日志并重新启动即可。您将看到CLR在何处查找程序集,以及什么版本,并从中确定找不到程序集的原因(如果这是问题所在)。您正在构建的DLL的名称是什么?您的类型
processesConfiguration节是否在条目程序集中定义?我刚刚在一个名为“Configuration”的控制台应用程序中找到了它。Andrii,我应该在哪里查看类型是否在条目程序集中定义?谢谢。谢谢,编译后的二进制文件的名称是Configuration.exe,所以我想这意味着我的行是正确的?请参阅“添加”,我认为这可能是一个输入错误在我的例子中,“Confirguration”是我放置配置处理程序的名称空间,它不在单独的DLL/程序集中。奇怪的是,它是“你可能有一个输入错误”这解决了我的问题。我犯了这个错误,因为我的大写字母写错了。
ProcessesConfigurationSection
type="Configuration.ProcessConfigurationSection , Configuration"