当我重建C#应用程序时,我经常得不到代码契约分析的结果。这是由以下错误消息引起的
CodeContracts: MyApp.Client.Model: Analysis method MyApp.Client.Model.MyClass.CreateCalculatedElements(System.Collections.Generic.List1<System.Collections.Generic.KeyValuePair2<System.String,MyCompany.Scripting.ICompiledFunction1<System.Object>>>,System.Collections.Generic.Dictionary2<System.String,MyCompany.Scripting.ICompiledFunction1<System.Decimal>>,System.Collections.Generic.Dictionary2<System.String,MyCompany.Scripting.ICompiledFunction1<System.Decimal>>) timed out
以下是方法的定义
internal void CreateCalculatedElements(
List<KeyValuePair<string, ICompiledFunction<object>>> preFinalCalculationScripts,
Dictionary<string, ICompiledFunction<decimal>> factorCalculators,
Dictionary<string, ICompiledFunction<decimal>> elementCalculators)
这并不总是超时。有没有一种方法可以通过重建解决方案手动为一个项目而不是所有项目运行合同检查?
您可以通过在属性窗格中的静态检查选项中添加一个额外的选项来增加该项目的超时,如下所示:-timeout
默认值为180,即每种方法。
至于你最初的问题,是的,你可以手动运行工具如下:
假设您的项目p在目录D中,然后转到D\obj\Debug\Deck。在那里,你会发现一个名为Pccheck.rsp的方便文件,其中包含在构建过程中传递给cccheck的参数。要再次运行分析,只需发出:cccheck@Pcccheck.rsp
目前,没有一个选项可以在不重建的情况下触发对一个项目的重新分析。