Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义配置中的C#配置错误异常_C#_Xml_Configuration - Fatal编程技术网

自定义配置中的C#配置错误异常

自定义配置中的C#配置错误异常,c#,xml,configuration,C#,Xml,Configuration,在msdn示例的帮助下,我进行了以下自定义配置。它返回System.Configuration.ConfigurationErrorsException,表示无法从assembly System.Configuration加载我的处理程序类 我做错了什么 配置: <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <sectionGroup name

在msdn示例的帮助下,我进行了以下自定义配置。它返回System.Configuration.ConfigurationErrorsException,表示无法从assembly System.Configuration加载我的处理程序类

我做错了什么

配置:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="FTPLastModifiedGroup">
      <section
        name="FTPLastModified"
        type="DailyChecQ.CheckModules.FTPLastModified.Settings.FTPLastModifiedHandler"
        allowLocation="true"
        allowDefinition="Everywhere"
      />
    </sectionGroup>
  </configSections>
  <FTPLastModifiedGroup>
    <FTPLastModified enabled="true">
    </FTPLastModified>
  </FTPLastModifiedGroup>
</configuration>
正在加载导致错误的配置

FTPLastModifiedHandler config = (FTPLastModifiedHandler) ConfigurationManager.GetSection("FTPLastModifiedGroup/FTPLastModified");

这里缺少的是为处理配置节而配置的类型的程序集名称。如果未提供Assemblyname,.NET将在导致此问题的
System.Configuration
assembly中查找该类

<configuration>
  <configSections>
    <sectionGroup name="FTPLastModifiedGroup">
      <section name="FTPLastModified"
         type="DailyChecQ.CheckModules.FTPLastModified.Settings.FTPLastModifiedHandler, 
              {{YourAssemblyName}}"
        allowLocation="true"
        allowDefinition="Everywhere"
      />
    </sectionGroup>
  </configSections>
  <FTPLastModifiedGroup>
    <FTPLastModified enabled="true">
    </FTPLastModified>
  </FTPLastModifiedGroup>
</configuration>

YourAssemblyName是定义类
FTPLastModifiedHandler
的程序集的名称。一旦进行此更改,问题将得到解决

<configuration>
  <configSections>
    <sectionGroup name="FTPLastModifiedGroup">
      <section name="FTPLastModified"
         type="DailyChecQ.CheckModules.FTPLastModified.Settings.FTPLastModifiedHandler, 
              {{YourAssemblyName}}"
        allowLocation="true"
        allowDefinition="Everywhere"
      />
    </sectionGroup>
  </configSections>
  <FTPLastModifiedGroup>
    <FTPLastModified enabled="true">
    </FTPLastModified>
  </FTPLastModifiedGroup>
</configuration>