一旦我打开代码合同的代码重写器,我就开始看到以前用过的代码存在问题。
我有一个protected volatile bool
成员字段,从我继承的类中的其他程序集中可以看到。在我的程序集上启用ccrewrite后,对该字段的访问现在抛出了一个MissingFieldException。
我知道以这种方式公开字段是不好的风格。一旦我更改为公开属性和/或删除易失性标记,问题就会消失。
我目前没有100%的代码覆盖率。
我的问题是,我如何仍然依赖代码合同,但我的代码是否像之前一样工作?如何找到行为发生变化的所有地方?
代码合约版本1.4.50327.0
Microsoft (R) .NET Contract Rewriter Version 1.4.50327.0
编辑在代码合同中已经完成了一些工作,但发行说明并不令人敬畏。具体而言,尚不清楚修复了什么。我在引用:
发布1.4.51019。0(2012年10月19日) 修复了VS2012中任务管理器的更多问题。 修复了CCDoc中的一个错误。 其他杂项错误修复。
发布1.4.50910.0(2012年9月10日) 修复了任务管理器,使其在VS2012中正确运行:静态检查器现在在后台运行,绘制了波浪形,并且合同建议出现在错误列表中。 更新了安装程序,以便" devenv / setup"安装后不再需要手动运行。它现在作为安装的一部分自动完成。 (这使得安装需要批次更长...) 修复了CCDoc中的几个错误。
发布1.4.50813。1(2012年8月13日) 错误修复(无处不在!)。 性能改进(静态检查器)。 精确改进(静态检查器)。 修复了安装程序和构建文件。
发布1.4.50327.0(2012年3月27日) VS2012支持! (但是你需要在安装后手动运行" devenv / setup") 错误修复。
答案 0 :(得分:1)
我在内部版本中修复了这个问题。它将出现在CodeContracts的下一个版本中。
修改的 以下是Code Contracts site的发布说明:
发布1.5。60502。11(2013年5月2日)