Я пытаюсь преобразовать объект XmlSchema в строку.
Я создаю простую XmlSchema, компилирую ее и затем преобразую следующим образом:
public string ConvertXmlSchemaToString(XmlSchema xmlSchema)
{
String schemaAsString = String.Empty;
// compile the schema
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.Add(xmlSchema);
schemaSet.ValidationEventHandler += new ValidationEventHandler(schemaSet_ValidationEventHandler);
schemaSet.Compile();
// allocate memory for string output
MemoryStream memStream = new MemoryStream(1024);
xmlSchema.Write(memStream);
memStream.Seek(0, SeekOrigin.Begin);
StreamReader reader = new StreamReader(memStream);
schemaAsString = reader.ReadToEnd();
return schemaAsString;
}
При работе в качестве консольного приложения все работает нормально, но при запуске из Nunit я получаю исключение в "xmlSchema.Write (memStream);" линия.
исключение: произошла ошибка при создании документа XML.
Внутреннее исключение: Common Language Runtime обнаружил недопустимую программу.