我们正在向.NET 4迁移,非常有兴趣实现新的契约设计能力。
据我们所知,Code Contract引擎需要安装Code Contract addin和VS Ultimate或Premium(用于静态检查)。
以下是我的问题:
- 我可以在CI构建服务器(TeamCity)上使用代码契约重写而不安装VS吗?
- 是否有任何msbuild任务来执行契约检查?
- 您是否在CI构建中使用Code Contract的验证?
我们正在向.NET 4迁移,非常有兴趣实现新的契约设计能力。
据我们所知,Code Contract引擎需要安装Code Contract addin和VS Ultimate或Premium(用于静态检查)。
以下是我的问题:
ccrewrite.exe - 二进制重写器。此应该在编译之后执行。它将使您的合约变成运行时检查或您指定的任何其他内容。
ccrefgen.exe - 可以在您的程序集旁生成合约引用程序集。如果您要提供给其他人使用dll,则这很有用。
cccheck.exe - 静态检查器。在构建服务器上,您会在包含合约的程序集上运行此工具,并在遇到潜在问题时发出警告和消息。
ccdocgen.exe - 这从代码中的合约生成XML文档。如果您要提供带有契约的dll以供其他方使用,或者如果您只需要有关您的代码的内部文档,则可能需要使用它。
正如您所看到的,可以通过MSBuild目标将工具集成到CI构建中。
您是否在CI构建中使用Code Contract的验证?
假设您指的是带有警告/消息的静态检查,我个人已经这样做过,但还没有在大型项目上进行过。
希望这能对您有所帮助!
致谢Jon Skeet的C# In Depth书籍,解释了命令行工具。