web.config, configSource, and "The 'xxx' element is not declared" warning web.config, configSource, and "The 'xxx' element is not declared" warning asp.net asp.net

web.config, configSource, and "The 'xxx' element is not declared" warning


Searching a workaround to this matter using Custom Config Files, I found this solution. Dont know if is the correct one.

The problem is that VS cant find a schema to validate your .config (xml). If you are using "native" configuration elements or when you create your custom .config files you must set to every xml document a schema.

By default (in VS9 for example) all xml files use \Microsoft Visual Studio 9.0\Xml\Schemas\DotNetConfig.xsdbut you can add more schemas to use.

Before assigning a schema you must create it.

To create a new Schema based on your own custom.config:

  1. open your custom config file
  2. in menubar XML->Create Schema
  3. save it

To assign your schema:

  1. open your custom config file
  2. in properties panel: click on the browse button [..]
  3. set the 'Use' column to your recently created schema

you can assign as many you want. or have one schema for all your different custom .config files

(Sorry, but my English is not so good)


I think that you get the blue squiggles since the schema of your web.config file doesn't declare these custom config sections that you've 'broken out' into individual files.

In investigating this, I see that some of my solutions have the same issue, but the config sections that are provided from microsoft DON'T have the squiggles. eg: we have extracted the appsettings and connectionstrings out into their own files, and they don't get the squiggles, but our custom ones do.

I tried to view the microsoft schema at schemas.microsoft.com/.netconfiguration/v2.0, but I get a 404 when trying to download it.

What I'm trying to say is if you get a copy of the MS schema and alter it to include your external config files, you should be able to get rid of the dreaded squiggles!

HTH,Lance