Поддерживает ли Sandcastle кодовые контракты?

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

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


person user380719    schedule 26.08.2010    source источник


Ответы (3)


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

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

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

Затем откройте 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 и иметь контракты в документации.

person porges    schedule 26.08.2010
comment
На самом деле все, что вам нужно сделать, это установить sandcastlestyles.codeplex.com (см. social.msdn.microsoft.com/Forums/en- US/codecontracts/thread/) Спасибо, что указали мне правильное направление. - person user380719; 27.08.2010
comment
Что ж, так проще :) Я исходил из документации, поставляемой с Code Contracts. - person porges; 30.08.2010
comment
Следует обратить внимание на то, что документ Code Contract XML не создается по умолчанию. Вы должны перейти в свойства проекта, на вкладку «Контракты кода», установить в раскрывающемся списке «Справочная сборка контракта» значение «Создать» и проверить «Эмитировать контракты в файл документа XML». Дополнительную информацию см. здесь: (dotnet.dzone.com/ статьи/код-контракты-%E2%80%93-генерация). - person SteveWilkinson; 02.05.2011

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

person Dave Black    schedule 13.10.2011

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

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

person Kaz Librowski    schedule 13.09.2013