I'm trying to use a Serializable Dictionary as a type in the project Settings.settings. I have found a solution for my issue. 
http://stackoverflow.com/questions/1166496/key-value-storage-in-settings-file 
 
I have created the SerializableDictionary class and compiled my project.
Issue: I'm not able to select this class as a type in the project Settings.settings
I have included a reference to the assembly where I created the class. Some of the classes in that assembly appear when I try to browse but not this SerializableDictionary. I also tried to type the full name of the class in the Selected Type box got an error :  SerializableDictionary is not defined.
Can someone help please ?
 
 
- using System;  
 - using System.Collections.Generic;  
 - using System.Text;  
 - using System.Xml.Serialization;  
 -   
 - namespace mynamespace  
 - {  
 -   
 - [XmlRoot("dictionary")]  
 - public class SerializableDictionary<TKey, TValue> : Dictionary<TKey, TValue>, IXmlSerializable
 -  
 - {  
 -     #region IXmlSerializable Members  
 -     public System.Xml.Schema.XmlSchema GetSchema()  
 -     {  
 -         return null;  
 -     }   
 -     public void ReadXml(System.Xml.XmlReader reader)  
 -     {  
 -         XmlSerializer keySerializer = new XmlSerializer(typeof(TKey));  
 -         XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));  
 -         bool wasEmpty = reader.IsEmptyElement;  
 -         reader.Read();  
 -   
 -         if (wasEmpty)  
 -             return;  
 -         while (reader.NodeType != System.Xml.XmlNodeType.EndElement)  
 -         {  
 -             reader.ReadStartElement("item");   
 -             reader.ReadStartElement("key");  
 -             TKey key = (TKey)keySerializer.Deserialize(reader);  
 -             reader.ReadEndElement();  
 -             reader.ReadStartElement("value");  
 -             TValue value = (TValue)valueSerializer.Deserialize(reader);  
 -             reader.ReadEndElement();  
 -             this.Add(key, value);  
 -             reader.ReadEndElement();  
 -             reader.MoveToContent();  
 -         }  
 -         reader.ReadEndElement();  
 -     }  
 -     public void WriteXml(System.Xml.XmlWriter writer)  
 -     {  
 -         XmlSerializer keySerializer = new XmlSerializer(typeof(TKey));  
 -         XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));  
 -         foreach (TKey key in this.Keys)  
 -         {  
 -   
 -             writer.WriteStartElement("item");  
 -             writer.WriteStartElement("key");  
 -             keySerializer.Serialize(writer, key);  
 -             writer.WriteEndElement();  
 -             writer.WriteStartElement("value");  
 -             TValue value = this[key];  
 -             valueSerializer.Serialize(writer, value);  
 -             writer.WriteEndElement();  
 -             writer.WriteEndElement();  
 -         }  
 -     }  
 -     #endregion  
 - }  
 - }