MS Contracts错误:Must use the rewriter when using Contract.Requires

  在方法起始的时候,现在可以使用指定一个前置条件协定来处理参数检查,如: Contract.Requires<ArgumentNullException>(width!= null, "width")。但在运行的时候,如果你没有设置Code Contracts运行时检查,你会得到类似:Description:Must use the rewriter when using Contract.Requires<TException>的错误。

下图是没有设置运行时检查的一个提示:Assert Failure.

contract.requires<texception>报错

这是Code Contract 在告知我们,需要为此项目打开运行时检查。

但默认Code Contract的运行时检查在VS中是没有设置的,我们需要下载最新的Code Contract来安装,你可以在微软这里下载到:

http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx

下载安装后,你可能需要重启下项目或VS。

在VS 2010中开启运行时检查如下图:

启用code contract 运行时检查

上述红框中的是需要操作的地方。

设置好了之后,重新运行即可。

需要注意的是,如果你解决方案中有多个项目的话,不仅需要开启代码所在项目的Code Contracts运行时检查,也需要在调用此项目的项目中设置该项。

Saturday, April 28, 2012 | .NET技术

文章评论

No comments posted yet.

发表评论

Please add 3 and 2 and type the answer here:

关于博主

  一枚成分复杂的网络IT分子,常年游弋于电子商务,属于互联网行业分类中的杂牌军。当前正在待业中...