一旦我为代码合同打开代码重写器,我开始发现以前可以工作的代码存在问题。
我有一个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”!)错误修复。