我的库使用代码契约。
有没有办法将这些契约合并到沙堡生成的文档中?
发布于 2010-08-27 07:37:09
编辑:发现这个方法已经过时了;只需安装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 (或者在32位安装上只打开C:\Program Files\... -下面的说明也是如此)。
您必须提取的内容取决于您是随MSI一起安装Sandcastle还是从源代码中安装(它们实际上是不同的版本):
msi\vs2005\下的所有内容提取到C:\Program Files (x86)\Sandcastle\Presentation\vs2005\,并覆盖所有冲突。source\vs2005\下的所有内容提取到C:\Program Files (x86)\Sandcastle\Presentation\vs2005\,并覆盖所有冲突。最后,您需要创建一个新的Sandcastle项目。您可以从向导中的旧主题和设置导入您的主题和设置。
然后,您应该能够运行Sandcastle,并且在文档中具有契约。
发布于 2011-10-14 01:36:43
它确实适用于Sandcastle,尽管有一些必要的调整来完全整合它们。请参阅http://research.microsoft.com/en-us/projects/contracts/userdoc.pdf上日期为2011年2/4(或更晚)的代码合同用户手册中的第8.3节
发布于 2013-09-13 16:53:25
答案现在已经过时了。
Sandcastlestyles现在似乎已被弃用,如果您尝试将最新的Code Contracts发行版(截至2013年9月13日)提供的补丁应用于最新的Sandcastle发行版,那么它可能会破坏Sandcastle,这可能是因为该补丁不再与Sandcastle版本同步。
https://stackoverflow.com/questions/3579655
复制相似问题