Microsoft代码合同:错误“CodeContracts:Diagnostic:无法连接到任何缓存。”

时间:2014-05-03 21:47:17

标签: c# sql code-contracts

运行Microsoft Code Contracts时出现以下错误:

  

CodeContracts:Diagnostic:无法连接到任何缓存。

2 个答案:

答案 0 :(得分:10)

user manual for Code Contracts州:

  

缓存结果:控制是否缓存分析结果。如果   检查后,分析试图避免分析其结果的方法   不可能改变(因为没有合同,没有代码,也没有相关性   metdata已经改变了)。启用此选项可以更快地完成   如果反复使用静态检查器,则需要周转时间。 分享   在多个开发人员之间缓存,使用SQL服务器并放置服务器   UI中SQL Server配置框中的名称。注意:SQL   服务器连接使用Windows身份验证登录服务器。   您的开发人员需要有权创建和修改数据库。

找出计算机上安装的SQL Server的正确名称(请注意“localhost”不起作用;它必须是实际的计算机名称):

enter image description here

右键单击项目,选择“属性”,转到“代码合同”选项卡(在列表底部),然后添加您的机器名称:

enter image description here

适用于版本1.5。60911。10(2013年9月11日)。也许未来版本的Code Contracts将尝试连接到“localhost”和/或在此框中接受“localhost”,和/或自动检测SQL Server 2012.

在我的特定情况下,我没有安装“(localdb)\ V11.0”;如果我安装了这个,那么它就可以开箱即用(它必须在内部默认)。

答案 1 :(得分:3)

取消选中"缓存结果" "静态分析"下的选项" Code Contracts"财产页面。