我目前在ASP.NET MVC应用程序中使用Microsoft Code Contracts,没有任何问题,但是我似乎无法在基本的ASP.NET Web网站中运行它。我不确定它是否适用于这种类型的项目(尽管这并不重要),所以我想向大家介绍一下。
我可以很好地编译合同,但是代码跳过了它们,因为我认为它还没有通过属性页面启用,就像您在其他项目类型(即ASP.NET MVC)中所做的那样。我已经转到了项目的属性页面(显示对话框而不是典型的属性页面)在我的ASP.NET网站中,但它没有产生相同的菜单选项,因此没有专门用于Code Contracts的部分。
此外,我已经在类库项目中正确启用了Microsoft Code Contracts,我用它来将业务逻辑与网站分离。合同编译得很好,但是当合同被违反时,它会抛出一个相当不明确的“System.ExecutionEngineException类型的异常”错误,没有内部异常。我的合同指定了违规时要显示的消息,但该消息不在异常中。它只是停止了进程的执行(我认为这是Microsoft Code Contracts的默认功能)。
我可以很好地编译合同,但是代码跳过了它们,因为我认为它还没有通过属性页面启用,就像您在其他项目类型(即ASP.NET MVC)中所做的那样。我已经转到了项目的属性页面(显示对话框而不是典型的属性页面)在我的ASP.NET网站中,但它没有产生相同的菜单选项,因此没有专门用于Code Contracts的部分。
此外,我已经在类库项目中正确启用了Microsoft Code Contracts,我用它来将业务逻辑与网站分离。合同编译得很好,但是当合同被违反时,它会抛出一个相当不明确的“System.ExecutionEngineException类型的异常”错误,没有内部异常。我的合同指定了违规时要显示的消息,但该消息不在异常中。它只是停止了进程的执行(我认为这是Microsoft Code Contracts的默认功能)。
我找不到任何明确说明特定项目类型可以或不可以(或不应该)与合同一起使用的地方,所以我想看看是否有人遇到过这个问题。
感谢任何帮助!