Указание корневого контейнера для вывода средства просмотра справки Sandcastle MS

Я использую Sandcastle Help File Builder для создания отточенной документации для SDK. Для поддержки функции Visual Studio F1 один из выходных данных находится в формате MS Help Viewer. Проблема в том, что когда мы устанавливаем пакет в Help Viewer 1.0 (Visual Studio 2010) или Help Viewer 2.0 (Visual Studio 2012), документация не помещается в корневой контейнер.

Текущие результаты просмотра справки

Узел "Ссылка API", показанный на рисунке, является контейнером для самой библиотеки классов. Хотя мы могли бы переименовать этот узел, это не оставило бы нам места для включения концептуального контента в дополнение к ссылке на библиотеку классов. Сравните это с расположением эквивалентного узла в справке.NET Framework 4.

Ссылка Справка Просмотр темы

Вопрос: Для обеспечения согласованности с другой документацией, как мы можем сделать так, чтобы конструктор файлов справки Sandcastle создавал вывод средства просмотра справки MS в указанном пользователем контейнере верхнего уровня для нашего проекта, причем текущая документация библиотеки классов "Справочник по API" является дочерней для этого узла?

1 ответ

Решение

Корневой узел фактически указан как документ с концептуальным содержимым.

  1. Убедитесь, что проект документации имеет документ Content Layout.
  2. Создайте новый документ с концептуальным содержанием с именем MSHelpViewerRoot.aml в проекте документации с использованием концептуального шаблона. Содержимое может выглядеть примерно так (заменить [Guid] с сгенерированным GUID и [My Topic] с темой вашего контента):

    <?xml version="1.0" encoding="utf-8"?>
    <topic id="[Guid]" revisionNumber="1">
      <developerConceptualDocument
          xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"
          xmlns:xlink="http://www.w3.org/1999/xlink">
    
        <introduction>
          <para>Welcome to the [My Topic] Reference</para>
        </introduction>
    
        <section>
          <content>
            <para>Select a topic from the table of contents.</para>
          </content>
        </section>
    
        <relatedTopics/>
      </developerConceptualDocument>
    </topic>
    
  3. Добавить MSHelpViewerRoot.aml концептуальное содержание в документе Content Layout.

    • В разделе Свойства темы укажите [My Topic] SDK как заголовок
    • В разделе " Свойства темы" установите флажок " Использовать как корневой контейнер средства просмотра справки MS".
    • В разделе Ключевые слова индекса добавьте запись с индексом. K и срок (ы) [My Topic] SDK

Результирующая конфигурация может выглядеть следующим образом:

Конфигурация макета контента

В заключение, в дополнение к корневому узлу, вы можете сделать следующее:

  1. Создать Welcome.aml концептуальное содержание документа
    • Добавьте ссылку на приветственный документ в <relatedTopics> элемент MSHelpViewerRoot.aml
    • Задавать Welcome.aml в качестве элемента темы по умолчанию в настройках макета содержимого
  2. Добавить License.aml концептуальное содержание документа
Другие вопросы по тегам