Habilitar Intellisense para Secciones Personalizadas en.archivos de configuración


Al editar archivos de configuración. NET (app.config, web.configuración, etc.) en Visual Studio, obtengo intellisense de Visual Studio para guiarme a la hora de elegir la configuración de mi aplicación. Si agrego una sección de configuración personalizada, ¿cómo puedo habilitar intellisense para mis configuraciones personalizadas? Estoy seguro de que debe haber una respuesta fácil a esto, pero una búsqueda superficial en Google no me dio ninguna ayuda.

Gracias!

Author: Kevin Babcock, 2009-04-13

3 answers

Si no desea modificar sus archivos de Visual Studio o copiar nada en la carpeta de Visual Studio, puede agregar el archivo .xsd a su proyecto, abrir su archivo .config y seleccionar Esquemas en la ventana Propiedades (haga clic en el icono […]):

Captura de pantalla de Visual Studio que muestra dónde encontrar y cambiar la propiedad "Esquemas" de su .archivo de configuración< / code >

 30
Author: Michael Stum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-18 10:54:38

Como dicen las otras respuestas, debe proporcionar un documento de esquema XML para su sección de configuración personalizada. No es necesario agregar el archivo de esquema .xsd a algún directorio global; puede hacer referencia a él directamente desde su sección personalizada en el archivo App.config:

<configuration>

  <!-- make the custom section known to .NET's configuration manager -->
  <configSections>
    <section name="customSection" type="..." />
  </configSections>

  <!-- your custom section -->
  <customSection xmlns="http://tempuri.org/customSection.xsd"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:noNamespaceSchemaLocation="customSection.xsd">
    ...
  </customSection>

<configuration>

El atributo xmlns está simplemente allí para establecer un espacio de nombres predeterminado, de modo que no es necesario establecerlo en su elemento customSection y todos sus elementos secundarios. (Sin embargo, no coloque el atributo xmlns en el <configuration> ¡element!)

El customSection.xsd contiene el esquema que utilizará IntelliSense, por ejemplo:

<xs:schema id="customSectionSchema"
           targetNamespace="http://tempuri.org/customSection.xsd"
           elementFormDefault="qualified"
           xmlns="http://tempuri.org/customSection.xsd"
           xmlns:mstns="http://tempuri.org/customSection.xsd"
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="customSection">
    ...
  </xs:element>
</xs:schema>
 34
Author: stakx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-15 05:17:19

Debe crear un archivo XSD para su configuración personalizada y copiarlo en el directorio de esquema de su instalación de visual Studio. Para 2005, esto es: %ProgramFiles%\Microsoft Visual Studio 8\XML \ Schemas

Aquí alguna información sobre esto. http://blogs.msdn.com/astebner/archive/2005/12/07/501466.aspx

 11
Author: Jose Basilio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-13 02:45:50