Sandcastle是否支持代码合同?

时间:2010-08-26 21:25:35

标签: .net code-contracts sandcastle

我的图书馆使用代码合同。

有没有办法将这些合同纳入sandcastle生成的文档?

3 个答案:

答案 0 :(得分:7)

编辑:原来这个方法已经过时了;只需安装Sandcastle Styles

Sandcastle本身不支持它,但Code Contracts附带了所需的文件。

首先确保您为程序集生成文档,然后在项目的Code Contracts设置中,将Contract Reference Assembly设置为'Build',并选中“将合同发布到XML doc文件”框。

接下来,在32位安装上打开C:\Program Files (x86)\Microsoft\Contracts\Sandcastle\Sandcastle.zip(或仅C:\Program Files\... - 并按照以下说明进行操作。

您需要提取的内容取决于您是使用MSI安装Sandcastle还是从源安装(它们实际上是不同的版本):

  • 如果来自MSI,请将msi\vs2005\下的所有内容提取到C:\Program Files (x86)\Sandcastle\Presentation\vs2005\,并覆盖所有冲突。
  • 如果来自源代码,请将source\vs2005\下的所有内容提取到C:\Program Files (x86)\Sandcastle\Presentation\vs2005\,并覆盖所有冲突。

最后,您需要创建一个 new Sandcastle项目。您可以导入主题&来自向导中旧设置的设置。

然后你应该能够运行Sandcastle并在文档中签订合同。

答案 1 :(得分:1)

它确实可以与Sandcastle一起使用,但需要进行一些调整才能完全集成它们。请参阅http://research.microsoft.com/en-us/projects/contracts/userdoc.pdf提供的2011年4月4日(或更高版本)的代码合同用户手册中的第8.3节

答案 2 :(得分:0)

答案现已过时。

Sandcastlestyles现在似乎已被弃用,如果您尝试将最新的Code Contracts发行版(截至2013年9月13日)提供的补丁应用到最新的Sandcastle发行版中,那么它可能会破坏Sandcastle,因为补丁不再与Sandcastle版本同步。