2011-07-27 19 views

Respuesta

24

Tuve que eliminar el atributo de espacio de nombres del nodo configuration. Existe algún conflicto en el esquema declarado y los elementos que estaba usando.

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

Estaba buscando una solución para este problema, y ​​esta es la única respuesta en la web que funcionó para mí, ¡gracias! – saman0suke

17

Me gustaría dar una respuesta más detallada para los demás aquí.

En Visual Studio 2010, el motor de transformación web.config no respetó las declaraciones xmlns. Por eso, si su fuente web.config tenía una declaración xmlns, y si creó una transformación, entonces la transformación no funcionaría. Esto se debe a que cuando realizamos XPath para identificar la fuente que debe reemplazarse, no podemos encontrar el valor. Para evitar esto, debe eliminar la declaración xmlns en la fuente web.config así como la transformación.

Con eso se dice, en Visual Studio 2010 SP1 hemos solucionado el error del espacio de nombres. Por lo tanto, su fuente web.config, así como su transformación, deben acordar los xmlns; si uno lo tiene, el otro debe tenerlo también.

Sospecho que está utilizando los bits anteriores al SP1, pero no estoy seguro. Para garantizar que el comportamiento no cambie si actualiza a SP1, le recomiendo que elimine la declaración xmlns de su fuente web.config así como de sus transformaciones. El xmlns no es necesario en el archivo web.config por lo que es seguro eliminarlo.

+0

¿Tengo razón en que es posible solucionar este error con el nombre del espacio de nombres en el archivo de transformación, que coincide con los xmlns correspondientes del archivo transformado? No es bueno eliminar los espacios de nombres de xml, entonces será un xml completamente diferente del procesador xml ... –

+0

No necesitas elementos nombrados ns, puedes hacer que funcione con los xmlns predeterminados, pero tienen que estar en tanto fuente como transformación. Con eso dicho. Para web.config no hay diferencia si hay xmlns o no. Se recomienda no tenerlo (también explica por qué no hay xmlns en web.config cuando se crea un nuevo proyecto en VS). –

+0

estamos utilizando transformaciones no solo para tipo web.config de xml = \ –

Cuestiones relacionadas