c# - no existe ningún medio para resolver el conflicto entre mscorlib version 4.0 0.0 culture neutral
El carácter '':'', valor hexadecimal 0x3A, no se puede incluir en un nombre (5)
Estaba teniendo el mismo error. Descubrí que estaba agregando código ...
var ab = "http://whatever-the-url-is";
... pero ab estaba decidido a ser una cadena. Esto causó el error informado por OP. En lugar de usar la palabra clave VAR, utilicé el tipo de datos real XNamespace ...
XNamespace ab = "http://whatever-the-url-is";
... y el problema desapareció
Tengo un archivo xml que contiene su elemento como
<ab:test>Str</ab:test>
Cuando intento acceder utilizando el código:
XElement tempElement = doc.Descendants(XName.Get("ab:test")).FirstOrDefault();
Me está dando este error:
System.Web.Services.Protocols.SoapException: el servidor no pudo procesar la solicitud. ---> System.Xml.XmlException: El carácter '':'', valor hexadecimal 0x3A, no se puede incluir en un nombre.
¿Cómo debería acceder?
Hay una sobrecarga del método Get que tal vez quiera probar que tenga en cuenta el espacio de nombres. Prueba esto:
XElement tempElement = doc.Descendants(XName.Get("test", "ab")).FirstOrDefault();
Intenta obtener el espacio de nombres del documento
var ns = doc.Root.Name.Namespace;
Intenta poner tu espacio de nombre en {
... }
manera:
string xfaNamespace = "{http://www.xfa.org/schema/xfa-template/2.6/}";
Si desea usar espacios de nombres, LINQ to XML lo hace realmente fácil:
XNamespace ab = "http://whatever-the-url-is";
XElement tempElement = doc.Descendants(ab + "test").FirstOrDefault();
Busque una sección xmlns:ab=...
en su documento para averiguar a qué URI de espacio de nombres se refiere.