title: I'm getting the "missing a using directive or assembly reference" and no clue what's going wrong
body: <p>I'm trying to allow a user to enter data into a textbox that will be added to the web.config file. I've added the relevent lines to the web.config file but when I make this class all goes wrong.</p>
  
  <p>I keep getting the are you missing a using directive or assembly refenrence error whenever I try to run my app. I have looked at the other times this question has been asked and can't seem to figure out where I'm going wrong. The thing is that I am extremely new to Visual Studio and am just left blank at what could be the answer.</p>
  
  <p>Below here is the class file that's generating the error. I hope I've included everything you need to assist me. Thank you.</p>
  
  <pre><code> using System.Collections.Generic;
   using System.Linq;
   using System.Configuration; 
  
  
  namespace WebConfigDemo
  {    
  public class CompanyConfigSection : ConfigurationSection   
  {       
      [ConfigurationProperty("", IsRequired = true, IsDefaultCollection = true)]   
      public CompanyConfigCollection Companies       
      {
          get           
          {              
          return (CompanyConfigCollection)this[""];           
          }            
          set            
          {            
              this[""] = value;            
          }       
      }   
  }     
  public class CompanyConfigElement : ConfigurationElement   
  {      
                  [ConfigurationProperty("id", IsKey = true, IsRequired = true)]        
      public int Id        
                  {            
                      get      
                  {                
                          return (int)this["id"];            
                      }            
                      set           
                      {               
                          this["id"] = value;          
                  }    
                  }         
      [ConfigurationProperty("name", IsRequired = true)]        
      public string Name        
      {            
          get           
          {            
                      return this["name"].ToString();            
          }           
          set           
          {               
              this["name"] = value;           
          }    
  
      }   
  } ' 
  public class CompanyConfigCollection : ConfigurationElementCollection    
  {       
      protected override ConfigurationElement CreateNewElement()     
  {          
      return new CompanyConfigElement();       
      }       
      protected override object GetElementKey(ConfigurationElement element)     
      {          
          return ((CompanyConfigElement)element).Id;        
      }   
  }    
  public class CompaniesConfig   
  {    
              private static readonly Dictionary&lt;int, CompanyConfigElement&gt; 
                  Elements;         
      static CompaniesConfig()       
      {         
                  Elements = new Dictionary&lt;int, CompanyConfigElement&gt;();       
                  var section = (CompanyConfigSection)ConfigurationManager.GetSection          ("companies");           
                  foreach (CompanyConfigElement system in section.Companies)        
                      Elements.Add(system.Id, system);       
      }        
      public static CompanyConfigElement GetCompany(int companyId)       
      {          
                          return Elements[companyId];   
      }      
              public static List&lt;CompanyConfigElement&gt; Companies        
              {          
                  get
                  {
                      return Elements.Values.ToList(); 
                  }      
              }  
  }
  }  '
  </code></pre>
  
  <p>Any help is appreciated</p>