gpt4 book ai didi

asp.net - Microsoft 代码契约(Contract)可以与 ASP.NET 网站一起使用吗?

转载 作者:行者123 更新时间:2023-12-04 12:56:32 25 4
gpt4 key购买 nike

我目前正在使用 Microsoft Code Contracts在 ASP.NET MVC 应用程序中没有任何问题,但我似乎无法在基本的 ASP.NET 网站中完全运行它。我不完全确定它是否适合这种类型的项目(尽管它应该无关紧要)所以我想把它带给每个人。

我可以很好地编译契约(Contract),但代码会跳过它们,因为我假设它没有像在其他项目类型(即 ASP.NET MVC)中那样通过属性页面启用。我已经在我的 ASP.NET 网站中访问了项目的属性页(它显示一个对话框而不是典型的属性页),但它没有产生相同的菜单选项,因此,没有专门的部分代码契约(Contract)。

此外,我在用于将业务逻辑与网站分离的类库项目中正确启用了 Microsoft 代码契约(Contract)。契约(Contract)编译得很好,但是当契约(Contract)被违反时,它会抛出一个相当缺乏信息的 "Exception of type 'System.ExecutionEngineException' was thrown"没有内部异常的错误。我的契约(Contract)指定了在违规时显示的消息,但它不在异常(exception)范围内。它只是停止进程的执行(我认为这是 Microsoft 代码契约(Contract)的默认功能)。

我找不到任何明确说明特定项目类型可以或不能(或不应该)与契约(Contract)一起使用的地方,所以我只是想看看是否有人遇到过这个问题。

谢谢你的帮助!

最佳答案

我遇到了同样的问题,这就是我解决它的方法:

在Referenced Class Libraries中,右键->属性->代码契约。
确保选中“执行契约(Contract)检查”。我将我的设置为“完整”
契约(Contract)引用程序集:确保将其设置为“构建”

保存您的更改。

在其代码中没有契约的引用类库中,将契约引用程序集设置为“不构建”。

然后在 MVC 项目中,检查代码契约(Contract)“执行契约(Contract)检查”。我将我的设置为“完整”。

希望能帮助某人。

关于asp.net - Microsoft 代码契约(Contract)可以与 ASP.NET 网站一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1093390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com