Встраивание документации Intellisense Xml в сборку?

У меня есть сборка, содержащая очень подробную документацию на основе XML, которая используется через Sandcastle для создания файлов справки для продукта. Мы также используем выходные XML-файлы для обеспечения правильного Intellisense в Visual Studio, когда программисты явно используют сборку.

Кажется, что для этого мы должны предоставить пользователю сборку («assembly.dll») и документацию («assembly.xml»).

Можно ли каким-то образом встроить документацию в сборку, чтобы нам нужно было предоставить только один файл сборки, и Visual Studio могла бы извлечь информацию? Может быть, встроен как ресурс или что-то в этом роде?


person ulrikj    schedule 14.10.2008    source источник


Ответы (3)


К сожалению, вам нужно будет предоставить и то, и другое, поскольку Visual Studio умеет только просматривать XML-документы для Intellisense.

person Jason Whitehorn    schedule 14.10.2008
comment
Стыд. Эквивалентная документация встроена в COM-серверы (DLL). Трудно представить, что это сильно увеличило бы размер файла. - person MarkJ; 20.09.2012

Если вы выполните поиск в C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727, вы обнаружите, что все сборки .net, на которые вы можете ссылаться в своих приложениях, используют файлы xml. Visual Studio будет предоставлять intellisense для сборок только в том случае, если существует файл xml. Например, если вы должны были закрыть Visual Studio, затем удалить файл System.Drawing.xml, а затем снова открыть VS, для этой сборки не должно быть никакого intellisense. Затем вам нужно будет закрыть VS, скопировать его обратно, а затем снова открыть VS, чтобы intellisense снова заработал.

person Community    schedule 30.10.2008
comment
На самом деле, если вы удалите файл XML, останется немного Intellisense. Вы не увидите никаких /// комментариев, но все равно получите сигнатуры и перегрузки методов. Предположительно, это делается путем рефлексии. - person Tom Bushell; 01.04.2011

Я что-то упускаю? Я всегда комментирую как обычно (используя 3 косой черты или 3 отметки (vb)), использую встроенные теги xml, и когда я использую сборку, я получаю intellisense - я редко использую внешний файл xml.

person schmoopy    schedule 14.10.2008
comment
Получаете ли вы Intellisense, как при автозавершении кода, или действительно получаете документацию, которую вы написали? Т.е. VS может автоматически генерировать списки методов и их параметры и т. Д., Очевидно, но, если я не удостоверюсь, что документация также доступна на хост-машине, я не получу документы. - person ulrikj; 15.10.2008