Usando LINQ para XML para escrever arquivos Nant .Build
-
20-09-2019 - |
Pergunta
Estou tentando criar um arquivo XML usando C# e LINQ para XML, mas estou tendo problemas com o namespace NANT.
var myXElement = new XElement("project", new XAttribute("name", "MySystemName"), new XAttribute("default", "myNAntTargetName"), new XAttribute("xmlns", "http://nant.sf.net/schemas/nant.xsd"));
myXElement.Save("c:\foo.xml");
Porque estou tentando forçar o namespace xatribute (para http://nant.sf.net/schemas/nant.xsd) O. Save falha, dizendo:
Xmlexception UNSUNLED: O prefixo '' não pode ser redefinido de '' para 'http://nant.sf.net/schemas/nant.xsd'Na mesma tag de elemento inicial.
Se eu simplesmente remover o atributo do espaço para nome, o arquivo economiza bem, mas preciso do espaço para nome lá, caso contrário, meus comandos NANT falham.
Alguma sugestão?
Solução
Encontrei isso na Internet depois de procurar por um longo tempo:
Basicamente, eu precisava definir um espaço para nome e aplicá -lo no código (em todos os lugares) e quando o arquivo é salvo, os espaços para nome são omitidos.
Espero que isso ajude outra pessoa! Se sim, me vote?