SHFB - проблемы с умлаутами в XML-файлах.NET

Мы создаем документацию для наших проектов.NET, используя Sandcastle и SHFB. В основном это работает.

К сожалению, мы используем.NET с немецким языковым пакетом (и так будет и дальше;-)), но, очевидно, у SHFB есть проблема при загрузке собственных XML-файлов.NET с немецкими умляутами.

Мы получаем исключение, которое выдает XmlParser, так как кажется, что он не способен правильно читать файлы (хотя кодировка внутри файла установлена ​​в UTF8). Проблема в том, что эти файлы не находятся под нашим контролем, они создаются Microsoft.

Возможным решением может быть удаление немецкого языкового пакета для.NET, но, во-первых, это скорее обходной путь, чем решение, а во-вторых, деинсталлятор предупреждает нас, что "один или несколько продуктов перестают работать" ... и это слишком критично, чтобы попробовать.

Есть ли официальное решение для этого?

1 ответ

Я не уверен, что это решит вашу проблему, но вы можете попытаться использовать числовое представление умляута.

Взято со страницы конструктора файлов справки Sandcastle:

При использовании сущностей для представления специальных символов в файлах ресурсов языка XML или в тексте заголовка, тексте об авторском праве и т. Д. Используйте числовую форму, а не форму имени, поскольку синтаксический анализатор XML не распознает их и вызовет исключение. Например, если вы укажете Ä (латинская заглавная буква A с диарезом), будет сгенерировано исключение. Чтобы исправить это, используйте вместо этого числовую форму (& #196;). Это также относится к символам, таким как © в тексте об авторских правах. Вместо этого вы должны использовать & #169; чтобы получить символ авторского права.

Примечание: пробелы между & и # были вставлены мной, чтобы избежать форматирования.

Смотрите здесь числовое представление символов

Другие вопросы по тегам