读取配置时出错,无法加载文件....来自Assemble System.Config

时间:2018-01-16 14:22:57

标签: c# .net app-config

我正在尝试从App.config中读取自己的自定义值,但是我一直收到错误说明:

  

无法从程序集'System.Configuration,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'加载'StockCSV.CordnersConfiguration'类型。

任何帮助都会很棒,提前谢谢!

配置

<?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <sectionGroup name="CordnerConfigurationSection">
          <section 
            name="cordnerConfig" 
            type="StockCSV.CordnersConfiguration.CordnerConfigurationSection, StockCSV.CordnersConfiguration" 
            allowLocation="false" 
            allowDefinition="Everywhere" />
        </sectionGroup>
      </configSections>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
        </startup>
      <CordnerConfigurationSection>
        <cordnerConfig Location="C:\Users\Conor\Desktop\Cordners Data Dump\stocknew.csv"></cordnerConfig>
      </CordnerConfigurationSection>
</configuration>

代码

namespace StockCSV.CordnersConfiguration
{
    public class CordnerConfigurationSection : ConfigurationSection
    {
        private static CordnerConfigurationSection cordnerConfig = (CordnerConfigurationSection)System.Configuration.ConfigurationManager.GetSection("CordnerConfigurationSection/cordnerConfig");

        private const string OutputPathProviderName = "outputPath";

        public static CordnerConfigurationSection CordnerConfig => cordnerConfig;

        [ConfigurationProperty(OutputPathProviderName)]
        public OutputConfigurationElement OutputLocation
        {
            get => (OutputConfigurationElement) this[OutputPathProviderName];
            set => this[OutputPathProviderName] = value;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

根据documentation

,自定义配置部分必须遵循以下模式
<section 
   name="sectionname"
   type="configuration section handler class, assembly file name, version, culture, public key token"
 />

在您的情况下,配置类型可能设置不正确。检查拼写是否正确,尤其是装配的名称是正确的。

我相信,你的类型应该是

     type="StockCSV.CordnersConfiguration.CordnerConfigurationSection, StockCSV"

如果能解决这个问题,请告诉我。