c# - ConfigurationCollection - Unrecognized element 'entry' -


i hope can me figure out doing wrong here. have custom section in web.config:

<invalidcharactorgroup>  <entries>    <entry name="entry1" oldchar="É" newchar="e"/>    <entry name="entry2" oldchar="b" newchar="c"/>  </entries> </invalidcharactorgroup> 

declaration

<sectiongroup name="invalidcharactorgroup">   <section name="entries"             type="wstg.config.invalidcharactorsection, wstgecomlibrary, version=1.0.0.0, culture=neutral, publickeytoken=null"             allowlocation="true"             allowdefinition="everywhere" />           </sectiongroup> 

it error:

unrecognized element 'entry'. 

here classes:

public class invalidcharactorsection : configurationsection {     [configurationproperty("entries")]     [configurationcollection(typeof(invalidentryelementcollection), additemname = "entry")]     public invalidentryelementcollection entries     {         { return ((invalidentryelementcollection)(base["entries"])); }         set { base["entries"] = value; }     } }   public class invalidentryelementcollection : configurationelementcollection {     internal const string propertyname = "entry";      public override configurationelementcollectiontype collectiontype     {                 {             return configurationelementcollectiontype.basicmapalternate;         }     }     protected override string elementname     {                 {             return propertyname;         }     }      protected override bool iselementname(string elementname)     {         return elementname.equals(propertyname, stringcomparison.invariantcultureignorecase);     }       public override bool isreadonly()     {         return false;     }       protected override configurationelement createnewelement()     {         return new entry();     }      protected override object getelementkey(configurationelement element)     {         return ((entry)(element)).name;     }      public entry this[int idx]     {                 {             return (entry)baseget(idx);         }     } }   public class entry : configurationelement {     [configurationproperty("name", defaultvalue = "", iskey = true, isrequired = true)]     public string name     {         { return (string)base["name"]; }         set { base["name"] = value; }     }     [configurationproperty("oldchar", defaultvalue = "", iskey = false, isrequired = true)]     public string oldchar     {         { return (string)base["oldchar"]; }         set { base["oldchar"] = value; }     }       [configurationproperty("newchar", defaultvalue = "", iskey = false, isrequired = true)]     public string newchar     {         { return (string)base["newchar"]; }         set { base["newchar"] = value; }     }  } 

seems you've declared propertyname "entry", different "entry".

update

i tried actual code, had change section group definition in config file one:

<?xml version="1.0" encoding="utf-8" ?> <configuration>   <configsections>     <!--<sectiongroup name="invalidcharactorgroup">       <section name="entries"                type="wstg.config.invalidcharactorsection, consoleapplication1, version=1.0.0.0, culture=neutral, publickeytoken=null"                allowlocation="true"                allowdefinition="everywhere" />     </sectiongroup>-->     <section name="invalidcharactorgroup" type="wstg.config.invalidcharactorsection, consoleapplication1"/>   </configsections>   <invalidcharactorgroup>     <entries>       <entry name="entry1" oldchar="É" newchar="e"/>       <entry name="entry2" oldchar="b" newchar="c"/>     </entries>   </invalidcharactorgroup> </configuration> 

change "consoleapplication1" name of binary. should able read configuration this:

invalidcharactorsection section = configurationmanager.getsection("invalidcharactorgroup") invalidcharactorsection;  entry entry = section.entries[0]; 

Comments

Popular posts from this blog

c++ - CryptStringToBinary API behavior -

c++ - Correct method for redrawing a layered window -

java.util.scanner - How to read and add only numbers to array from a text file -