Поддерживает ли Sandcastle кодовые контракты? - PullRequest
4 голосов
/ 27 августа 2010

В моей библиотеке используются контракты кода.

Есть ли способ включить эти контракты в документацию, созданную sandcastle?

Ответы [ 3 ]

7 голосов
/ 27 августа 2010

Редактировать : Оказывается, этот метод устарел; просто установите Sandcastle Styles .

Sandcastle изначально не поддерживает его, но Code Contracts поставляется с необходимыми файлами.

Сначала убедитесь, что вы генерируете документацию для своей сборки, затем в настройках Code Contracts для своего проекта установите для Reference Reference Assembly значение «Build» и установите флажок «создавать контракты в XML-файл документа».

Далее откройте C:\Program Files (x86)\Microsoft\Contracts\Sandcastle\Sandcastle.zip (или просто C:\Program Files\... в 32-разрядной установке - то же самое для приведенных ниже инструкций).

То, что вам нужно извлечь, зависит от того, установили ли вы Sandcastle с MSI или из исходного кода (на самом деле это разные версии):

  • если из MSI, извлеките все под msi\vs2005\ до C:\Program Files (x86)\Sandcastle\Presentation\vs2005\ и перезапишите любые конфликты.
  • если из источника, извлеките все данные от source\vs2005\ до C:\Program Files (x86)\Sandcastle\Presentation\vs2005\ и перезапишите любые конфликты.

Наконец, вам нужно создать новый проект Sandcastle. Вы можете импортировать ваши темы и настройки из старой в мастере.

Тогда вы сможете запустить Sandcastle и иметь контракты в документации.

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

Он работает с Sandcastle, хотя есть некоторые настройки, необходимые для их полной интеграции. Обратитесь к разделу 8.3 Руководства пользователя по контрактам на кодекс от 04.02.2011 (или более поздней версии), доступного по адресу http://research.microsoft.com/en-us/projects/contracts/userdoc.pdf

0 голосов
/ 13 сентября 2013

Ответы теперь устарели.

Sandcastlestyles теперь кажется устаревшим, и если вы попытаетесь применить патч, поставляемый с последней версией Code Contracts (по состоянию на 13 сентября 2013 г.), к последнему Sandcastleдистрибутив, тогда он сломает Sandcastle, предположительно, потому что патч больше не синхронизируется с выпуском Sandcastle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...