Hace unas semanas un alumno de mi curso de desarrollo Web de  campusMVP tenía un problema muy común: una vez que usaba la herramienta de configuración de la Web de ASP.NET 2.0 le dejaba de funcionar la característica de IntelliSense en el archivo web.config de su proyecto.

Al escribir algo en él lo único que obtenía era algo como esto:

Si te fijas bien notarás que ha habido un cambio respecto a antes de usar la herramienta de configuración.... Sí, en efecto, ¡bien visto!, es la declaración de ese espacio de nombres XML en la parte superior:

xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"

basta con eliminarla para que todo vuelva a la normalidad y podamos disfrutar de Intellisense a tope, y así se lo hice saber al alumno:

La mala noticia es que cada vez que usemos la herramienta de configuración nos volverá a pasar y tendremos que estar quitándolo. Menudo fastidio.

Como librarse del problema de una vez por todas

El caso es que este alumno enocntró una solución muy interesante en un blog italiano (no hay nada como ser políglota). consiste en tocar una sola línea del código fuente de la herramienta de configuración de ASP.NET (Como ya expliqué en su día, esta herramienta está incluida con código fuente con la distribución de .NET, ni siquiera hace falta tener Visual Studio).

En concreto busca el archivo WebAdminPage.cs dentro de la carpeta App_Code. Ábrelo y en la línea 99 detro del método de nombre "SaveConfig", cambia la línea que dice:

config.NamespaceDeclared = true;

y ponla como:

config.NamespaceDeclared = false;

¡Voilà!, a partir de ahora no volverá a meter el espacio de nombres XML y no se perderá el Intellisense.

💪🏻 ¿Este post te ha ayudado?, ¿has aprendido algo nuevo?
Pues NO te pido que me invites a un café... Te pido algo más fácil y mucho mejor