Указание корневого контейнера для вывода Sandcastle MS Help Viewer

Я использую 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 Help File Builder создавать выходные данные MS Help Viewer в указанном пользователем контейнере верхнего уровня для нашего проекта, при этом текущая документация библиотеки классов «Справочник по API» является дочерней этого узла?


person Sam Harwell    schedule 12.08.2013    source источник


Ответы (1)


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

  1. Убедитесь, что в проекте документации есть документ Content Layout.
  2. Создайте новый документ концептуального содержимого с именем MSHelpViewerRoot.aml в проекте документации, используя шаблон Conceptual. Содержимое может выглядеть примерно так (замените [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 концептуальное содержимое в документ макета содержимого.

    • Under Topic Properties, specify [My Topic] SDK as the Title
    • В разделе Свойства темы установите флажок Использовать в качестве корневого контейнера MS Help Viewer.
    • В разделе Ключевые слова индекса добавьте запись с индексом K и терминами [My Topic] SDK.

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

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

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

  1. Create a Welcome.aml conceptual content document
    • Add a link to the Welcome document in the <relatedTopics> element of MSHelpViewerRoot.aml
    • Установите Welcome.aml в качестве элемента Использовать как тему по умолчанию в настройках макета содержания.
  2. Добавить License.aml документ с концептуальным содержанием
person Sam Harwell    schedule 12.08.2013