App.Config自定义配置部分问题

我为我的应用程序创建了一个自定义配置部分。 由于某些原因,Visual Studio 2010没有拾取和我的自定义属性。 对于所有“添加”键,我收到与此类似的警告:

Could not find schema information for the element '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; } } } } 

发现问题:

Decyclone是正确的,错误实际上只是编译时警告。

真正的问题是我正在访问我的配置:

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

应该是这样的

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

谢谢FlipScript和Decyclone 🙂

更新:

我发现了如何删除编译时警告 – 我正在使用Visual Studio 2010.在创建自定义配置部分后,我使用工具栏中的“创建架构”按钮生成配置的架构文件。 然后我将其保存到我的项目中,警告消失了。