Ошибка в System.Xml при установке XmlDocument.XmlResolver = null. Обходной путь должен создать пользовательский XmlTextWriter:
private class NullSubsetXmlTextWriter : XmlTextWriter
{
public NullSubsetXmlTextWriter(String inputFileName, Encoding encoding)
: base(inputFileName, encoding)
{
}
public override void WriteDocType(string name, string pubid, string sysid, string subset)
{
if (subset == String.Empty)
{
subset = null;
}
base.WriteDocType(name, pubid, sysid, subset);
}
}
В своем коде создайте новый NullSubsetXmlTextWriter (pathToNewXml, Encoding.UTF8) и передайте этот объект в метод oDoc.Save ().
Вот пример поддержки Microsoft , где вы можете прочитать об обходном пути (он описывает обходной путь, но не предоставляет код).