Можно ли экспортировать или извлечь IntelliSense из Visual Studio в текстовый файл?

Я пытаюсь написать документацию для веб-службы, предоставленной одним из наших поставщиков для приложения, которое мы интегрируем. Связка интерфейса — это настраиваемые объекты, определенные в самом веб-сервисе. Поставщик оказал серьезное сопротивление предоставлению какой-либо документации для этого приложения, и поэтому я взял на себя ответственность выполнять их работу за них [вопреки моему здравому смыслу].

Откровенно говоря, документация, которую они предоставили, смущает, и я постараюсь сделать это как можно быстрее, чтобы собрать воедино несколько документов хорошего качества. Я знаю, что, поскольку у меня нет доступа к их источнику, я не могу просто запустить его через nDoc/Sandcastle, чтобы выдать документ API, но мне было интересно, есть ли (как дом на полпути) простой способ экспортировать IntelliSense в текстовый файл без необходимости писать утилиту для специальной итерации по каждому из определенных типов объектов и отражения членов в тексте?

Если бы я мог это сделать, это, по крайней мере, удостоверилось бы, что у меня есть структура документа хорошего качества, где я могу просто заполнить пробелы. Необходимость переходить туда и обратно в Visual Studio для проверки интеллекта для каждого члена класса — очень трудоемкий способ сделать это.

У кого-нибудь есть какие-либо идеи?


person BenAlabaster    schedule 14.01.2009    source источник
comment
Расскажите, есть ли у вас доступ к их сборкам или нет.   -  person jcollum    schedule 15.01.2009


Ответы (7)


Если вы пытаетесь задокументировать веб-службу, не могли бы вы проанализировать WSDL?

person Victor    schedule 14.01.2009

Если вы обращаетесь к удаленному веб-сервису, то, я думаю, у вас есть доступ к соответствующему WSDL: как насчет его синтаксического анализа и поиска только той информации, которая вам нужна? Или с помощью инструмента для этого (я искал в Google «генератор документации wsdl»)? Или даже использовать WSDL.exe для создания некоторого фиктивного кода из WSDL, а затем задокументировать его, возможно, с помощью GhostDoc? ХТН

person Fabrizio C.    schedule 14.01.2009

Не могли бы вы использовать Reflection для вывода методов и т. д.?

Отражение — это функция в .Net, которая позволяет нам получать некоторую информацию об объекте во время выполнения. Эта информация содержит данные класса. Также он может получить имена методов внутри класса и конструкторов этого объекта.

person rbrayb    schedule 14.01.2009
comment
Я думал об этом, но на самом деле не хотел надевать шляпу программиста для завершения документации. Если мне придется сделать это таким образом, я сделаю это, но я надеялся, что у кого-то есть простой трюк, чтобы сделать это. - person BenAlabaster; 15.01.2009

Я думаю, что VS.net создает документацию для intellisense. Для существующих сборок он уже находится в вашей файловой системе (например, C:\Windows\Microsoft.NET\Framework\v2.0.50727\en)

Попробуйте использовать сборку от вендора в VS.NET. Используйте обозреватель процессов или любой подобный инструмент от sysinternals, чтобы увидеть, какие файлы загружаются. Я уверен, вы обнаружите, что для пользовательской сборки создан xml-файл (который используется для демонстрации Intellisense и доступной документации).

Надеюсь, это поможет.

РЕДАКТИРОВАТЬ: я думаю, что в той же папке (где находятся ваши пользовательские сборки) будут файлы xml для документации.

person shahkalpeshp    schedule 14.01.2009

Если у вас есть dll, не могли бы вы их декомпилировать, а затем перекомпилировать и использовать nDoc? Это должно дать вам разумное начало.

person Rune Grimstad    schedule 14.01.2009
comment
У меня нет DLL, это WebService, к которому мы обращаемся удаленно, так что это не вариант. - person BenAlabaster; 15.01.2009
comment
Если это веб-служба, у вас есть WSDL. Вы должны иметь возможность использовать его для создания документации. - person Rune Grimstad; 15.01.2009

Не могли бы вы вместо этого использовать reflector (от redgate) для просмотра сборки (декомпилированной) воспроизведения документа API. Я не уверен, что еще вы получите, отражая и создавая свой документ, который вы не увидите вживую в рефлекторе (конечно, это будет зависеть от их написания удобочитаемого кода.

person Ken Henderson    schedule 14.01.2009

Может быть, это сумасшествие, но не могли бы вы сделать скриншот всего списка и запустить его через программу OCR?

person JosephStyons    schedule 14.01.2009