Не все пространства имен включены в сборку Sandcastle для документации - PullRequest
3 голосов
/ 21 октября 2011

У меня есть проект C # с двумя пространствами имен в одном решении.Я задокументировал все классы / функции / члены / и т. Д. В обоих пространствах имен.Поскольку этот проект является небольшим исследовательским проектом, пространства имен: DocTestLibrary и DocTestLibrary.Events.Однако, когда я пытаюсь создать документацию из него через Sandcastle, он создает документацию только для пространства имен DocTestLibrary.Есть ли какие-либо настройки, которые мне нужно сделать в Sandcastle, чтобы это работало?Я сомневаюсь в этом, хотя, поскольку я пролистал большинство из них.

Странно то, что Doxygen в состоянии генерировать документацию просто отлично.


Как предоставить дополнительную информациюЯ проверил журнал, который Sandcastle создает для сборки.Кажется, что эта запись приводит к тому, что остальные не отображаются.

Warn: ResolveReferenceLinksComponent2: Unknown reference link target 'T:DocTestLibrary.Events.DemoEvent'.

Я также обнаружил кое-что еще.

Пространство имен DocTestLibrary состоит из двух классов:

  • TestClass
  • StaticHelper

Как видно из названия, StaticHelper является классом-помощником только со статическими методами.И все же Сандкасл также отказывается обрабатывать этот файл.Обрабатывается только getClass.Меня только смущает, что в журнале нет записи об этом.

Ответы [ 4 ]

12 голосов
/ 07 мая 2015

В моем проекте sandcastle он всегда будет включать только одно пространство имен из 5. Проблема заключалась в том, что я не проверял Включить контейнер корневого пространства имен в разделе Файл справки .

Теперь все мои пространства имен перечислены под корневым пространством имен.

2 голосов
/ 21 октября 2011

Все ли ваши типы в DocTestLibrary.Events внутренние случайно? По умолчанию я считаю, что Sandcastle генерирует документацию только для открытых типов.

1 голос
/ 15 июля 2015

Я обнаружил, что эту проблему можно решить, вручную установив классы, которые вы хотите задокументировать, в Редактировать фильтр API в Свойства проекта -> Видимость.

1 голос
/ 21 октября 2011

Похоже, что эта проблема решена установкой DocumentInternals в разделе свойств Visibility в проекте Sandcastle.Интересно, почему это так, потому что никакой код не объявлен внутренним ...

Думаю, я поиграю еще немного ...

...