2010-12-14 14 views
5

मैंने अपने एप्लिकेशन के लिए एक कस्टम कॉन्फ़िगरेशन अनुभाग बनाया है। किसी कारण से विजुअल स्टूडियो 2010 उठा रहा है और मेरी कस्टम प्रॉपर्टी नहीं है। मैं सभी "जोड़ें" चाबी के लिए इस के समान चेतावनी हो रही है:App.Config कस्टम कॉन्फ़िगरेशन अनुभाग समस्या

Could not find schema information for the element 'urlFilterSection' 

कॉन्फ़िग फ़ाइल:

<configSections> 
    <section name="urlFilterSection" type="BotFinderApp.Models.UrlFilterSection, BotFinder" /> 
</configSections> 

<urlFilterSection> 
    <urlFilterCollection> 
     <add url="urlhere.com.au" numberOfIpsToExtract="10" /> 
     <add url="urlhere.com.au" numberOfIpsToExtract="10" /> 
     <add url="urlhere.com.au" numberOfIpsToExtract="10" /> 
     <add url="urlhere.com.au" numberOfIpsToExtract="10" /> 
     <add url="urlhere.com.au" numberOfIpsToExtract="10" /> 
     <add url="urlhere.com.au" numberOfIpsToExtract="10" /> 
     <add url="urlhere.com.au" numberOfIpsToExtract="10" /> 
     <add url="urlhere.com.au" numberOfIpsToExtract="10" /> 
     <add url="urlhere.com.au" numberOfIpsToExtract="10" /> 
    </urlFilterCollection> 
</urlFilterSection> 

UrlFilterSection:

namespace BotFinderApp.Models 
{ 
    public class UrlFilterSection : ConfigurationSection 
    { 
     public UrlFilterSection() 
     {  
     } 

     [ConfigurationProperty("urlFilterCollection", IsDefaultCollection = false)] 
     [ConfigurationCollection(typeof(UrlFilterCollection), AddItemName = "add", ClearItemsName = "clear", RemoveItemName = "remove")] 
     public UrlFilterCollection Urls 
     { 
      get 
      { 
       var urlsCollection = (UrlFilterCollection)base["urlFilterCollection"]; 
       return urlsCollection; 
      } 
     } 
    } 
} 

UrlFilterCollection

namespace BotFinderApp.Models 
{ 
    public class UrlFilterCollection : ConfigurationElementCollection 
    { 
     public UrlFilterCollection() 
     { 
     } 

     protected override ConfigurationElement CreateNewElement() 
     { 
      return new UrlFilter(); 
     } 

     protected override object GetElementKey(ConfigurationElement element) 
     { 
      return ((UrlFilter)element).Url; 
     } 
    } 
} 

UrlFilter

namespace BotFinderApp.Models 
{ 
    public class UrlFilter : ConfigurationElement 
    { 
     public UrlFilter() 
     { 
     } 

     [ConfigurationProperty("url", DefaultValue = "", IsRequired = true)] 
     public string Url 
     { 
      get { return (string)this["url"]; } 
      set { this["url"] = value; } 
     } 

     [ConfigurationProperty("numberOfIpsToExtract", DefaultValue = "0", IsRequired = true)] 
     public int NumberOfIpsToExtract 
     { 
      get { return (int)this["numberOfIpsToExtract"]; } 
      set { this["numberOfIpsToExtract"] = value; } 
     } 
    } 
} 
+1

क्या आप इसे अपने आवेदन में उपयोग करने में सक्षम हैं? मेरा मतलब है, क्या यह सिर्फ समय चेतावनियों को संकलित करता है या आप इसे अपने आवेदन में भी इस्तेमाल नहीं कर सकते? – decyclone

+0

UrlFilterCollection serviceConfigSection = ConfigurationManager.GetSection (UrlFilterSection ") UrlFilterCollection के रूप में; शून्य वापस आता है ... – timothyclifford

उत्तर

3

मिले समस्या:

Decyclone सही था, त्रुटियों वास्तव में थे बस समय चेतावनी संकलन।

वास्तविक समस्या मैं इस तरह मेरी विन्यास तक पहुँचने किया गया था:

UrlFilterCollection serviceConfigSection = ConfigurationManager.GetSection("urlFilterSection") as UrlFilterCollection; 

जब यह इस

UrlFilterSection serviceConfigSection = ConfigurationManager.GetSection("urlFilterSection") as UrlFilterSection; 

की तरह किया जाना चाहिए था आप FlipScript और Decyclone :)

अद्यतन धन्यवाद:

मुझे पता चला कि संकलन समय चेतावनियों को कैसे हटाया जाए - मैं usin हूँ जी विजुअल स्टूडियो 2010. मेरे कस्टम कॉन्फ़िगरेशन सेक्शन बनाने के बाद मैंने टूलबार से "स्कीमा बनाएं" बटन का उपयोग किया जो कॉन्फ़िगरेशन के लिए स्कीमा फ़ाइल उत्पन्न करता है। मैंने फिर इसे अपनी परियोजना में सहेजा और चेतावनियां गायब हो गईं।

संबंधित मुद्दे