sección reconocida encrypt datos connectionstrings connectionstring configuración conexion cadena app visual-studio-2010 xsd app-config

visual-studio-2010 - encrypt - sección de configuración connectionstrings no reconocida



Visual Studio siempre selecciona el xsd incorrecto para App.config (4)

Cuando me encontré con este problema, la razón por la que no se verificó el esquema no resultó ser que tuviera varias instancias de Visual Studio abiertas.

(Tenía VS2015 abierto con un proyecto y VS2013 también abierto al mismo tiempo con un proyecto diferente).

Tenga en cuenta que varias versiones de Visual Studio y el cambio de ida y vuelta en el mismo proyecto / solución también parece ser la forma en que algunos problemas con los esquemas repetidos se produjeron en primer lugar.

antes que nada, tengo una aplicación .NET 4.0 con esta configuración:

<?xml version="1.0"?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> </configuration>

Tuve el mismo problema que el de esta pregunta: app.config "No se pudo encontrar la información del esquema" después de convertir a Visual Studio 2010 / .Net 4.0 : el editor supported no reconoció el elemento supportedRuntime, lo que dio como resultado una sugerencia.

Luego seguí la respuesta: estaba en el editor de app.config y fui a la ventana Propiedades. Ahí seleccioné la entrada de Schemas.

Eliminé la selección de DotNetConfig.xsd y seleccioné DotNetConfig35.xsd, pero VS siempre agrega automáticamente DotNetConfig.xsd nuevamente. Incluso si lo configuré explícitamente para "no usar este esquema" o incluso eliminé el esquema de la lista, se agrega automáticamente a la lista nuevamente y se selecciona.

Como ahora tengo dos esquemas seleccionados que definen los mismos elementos, recibo muchas advertencias.

¿Cómo puedo cambiar el esquema para usar DotNetConfig35.xsd y NO volver a agregar automáticamente DotNetConfig.xsd?


Esta es una publicación anterior, pero acabo de encontrar el mismo problema.

El enfoque que tomé fue el mismo que Ken Johnsrude sugirió antes: crear un nuevo archivo .xsd:

http://w3stack.org/question/c-how-to-fix-error-could-not-find-schema-information-for-the-attributeelement-by-creating-schema/

  1. MSVS> Proyecto abierto app.config

  2. XML> Crear esquema

    Esto creará "app.xsd" en% TEMP%

    EXAMPLE: c:/users/paulsm/AppData/Local/Temp/app.xsd

  3. Mueva app.xsd al directorio del proyecto

  4. App.Config, haga clic con el botón derecho en> Propiedades> Esquemas> ... app.xsd> Usar> Usar este esquema = SÍ


Interpreto el problema de la siguiente manera: el archivo DotNetConfig.xsd tiene una DotNetConfig.xsd incorrecta (o DotNetConfig.xsd ) del elemento <startup> . La línea 230 de todos los DotNetConfig.xsd , DotNetConfig35.xsd , DotNetConfig30.xsd y DotNetConfig20.xsd contiene

<xs:element name="startup" vs:help="configuration/startup" />

Por otro lado, Microsoft describe el esquema de configuración de inicio no como un elemento vacío. Así que sugiero reemplazar la línea anterior en DotNetConfig.xsd y en todos los archivos DotNetConfigXX.xsd del DotNetConfigXX.xsd %ProgramFiles%/Microsoft Visual Studio 10.0/Xml/Schemas (o %ProgramFiles(x86)%/Microsoft Visual Studio 10.0/Xml/Schemas Directorio %ProgramFiles(x86)%/Microsoft Visual Studio 10.0/Xml/Schemas en sistemas de 64 bits) a las siguientes líneas

<xs:element name="startup" vs:help="configuration/startup"> <xs:complexType> <xs:choice minOccurs="1" maxOccurs="1"> <xs:element name="requiredRuntime" vs:help="configuration/startup/requiredRuntime"> <xs:complexType> <xs:attribute name="version" type="xs:string" use="optional" /> <xs:attribute name="safemode" type="xs:boolean" use="optional" /> </xs:complexType> </xs:element> <xs:element name="supportedRuntime" minOccurs="1" maxOccurs="unbounded" vs:help="configuration/startup/supportedRuntime"> <xs:complexType> <xs:attribute name="version" type="xs:string" use="optional" /> <xs:attribute name="sku" type="xs:string" use="optional" /> </xs:complexType> </xs:element> </xs:choice> <xs:attribute name="useLegacyV2RuntimeActivationPolicy" type="xs:boolean" use="optional" /> <!-- see http://msdn.microsoft.com/en-us/library/bbx34a2h.aspx --> </xs:complexType> </xs:element>

Después de dicha modificación y reinicio de Visual Studio 2010, no tendrá las advertencias que describió. Debido a que uno puede definir el esquema de todos los atributos o elementos más detallados (especialmente si encontramos documentación más detallada de la sección <startup> ), pero quiero describir el motivo del problema solamente y una forma de solucionarlo.

Por cierto, la elección entre DotNetConfig.xsd , DotNetConfig35.xsd y otros archivos DotNetConfigXX.xsd se realizará en función del contenido del archivo catalog.xml del mismo directorio, cuyo esquema se describe here . La versión estándar del archivo catalog.xml contiene las siguientes líneas

<Association extension="config" schema="%InstallRoot%/xml/schemas/dotNetConfig20.xsd" condition="starts-with($TargetFrameworkMoniker, ''.NETFramework,Version=v2.'')" /> <Association extension="config" schema="%InstallRoot%/xml/schemas/dotNetConfig30.xsd" condition="starts-with($TargetFrameworkMoniker, ''.NETFramework,Version=v3.0'')" /> <Association extension="config" schema="%InstallRoot%/xml/schemas/dotNetConfig35.xsd" condition="starts-with($TargetFrameworkMoniker, ''.NETFramework,Version=v3.5'')" /> <Association extension="config" schema="%InstallRoot%/xml/schemas/dotNetConfig.xsd" condition="starts-with($TargetFrameworkMoniker, ''.NETFramework,Version=v4.'') or $TargetFrameworkMoniker = ''''" />

Por lo tanto, Visual Studio interpretará todos los archivos con extensión .config como archivos con el esquema XSD descrito por uno de los archivos anteriores.


Para mí, noté que tenía un montón de XML Schemas duplicados en XML->Schemas , simplemente marqué los duplicados como Don''t Use . En particular, todos los que no estaban relacionados con Visual Studio 2017. El problema desapareció inmediatamente y no se mostraron más advertencias superfluas