为什么我的WebAPI REST方法在周末被破坏了?

为什么我的WebAPI REST方法在周末被破坏了?,rest,iis-express,asp.net-web-api,visual-studio-2013,ccrewrite,Rest,Iis Express,Asp.net Web Api,Visual Studio 2013,Ccrewrite,我有一些简单的WebAPI模型/存储库/控制器 我可以在浏览器中使用以下工具测试这些功能: http://localhost:48614/api/departments/ …这将在浏览器页面中返回测试部门数据 但现在,同样的尝试失败了: 真的是这样吗?我需要跳过这些障碍,上周我的简单测试运行良好时?(请注意,我不是CC方面的专家,但我在StackOverflow上玩过一个。其中一些陈述可能有点不正确) 不只是为了执行验证而引用和调用的程序集中的方法集合。代码契约是一组类型和工具,它们实际上在

我有一些简单的WebAPI模型/存储库/控制器

我可以在浏览器中使用以下工具测试这些功能:

http://localhost:48614/api/departments/
…这将在浏览器页面中返回测试部门数据

但现在,同样的尝试失败了:

真的是这样吗?我需要跳过这些障碍,上周我的简单测试运行良好时?

(请注意,我不是CC方面的专家,但我在StackOverflow上玩过一个。其中一些陈述可能有点不正确)
不只是为了执行验证而引用和调用的程序集中的方法集合。代码契约是一组类型和工具,它们实际上在编译后重写IL以执行静态和运行时检查。您可以阅读更多有关此重写器的信息

它们仍然不是框架或VisualStudio的正式部分。在它起作用之前,你必须这样做

可编辑的ASP.NET网站在第一次加载时执行aspx/cshtml文件的编译。由于代码契约要求重写已编译的程序集,因此这必须包含在ASP.NET编译阶段中。我不知道该怎么做(我会访问论坛获取这些信息),但这绝对不会发生

该错误表明在VS或ASP.NET中未正确执行编译。不管是哪种方式,解决这个问题的唯一办法就是彻底抛弃CCs,或者按照对话的内容去做


我会注意到Daniel Cazzulino通过nuget提供了一些类似CC的代码,其中包括许多行为类似于代码契约的助手方法。类似于
Assert.NotNull(someArgument,“someArgument”)。如果您搜索他的帐户,您可以找到他们。

使用非通用版本的合同。需要,因此不需要IL重写。文档涉及到这一点。

您是否添加了一些代码契约内容?是的,我添加了,比如:Contract.Requires(item!=null,“item”);你问这个问题让我觉得这是个问题。这很容易解决吗(除了注释掉所有这样的代码之外)?我猜err msg一开始看起来很神秘,很简单,但是使用代码契约真的需要所有这些繁琐的工作吗?是的。不要忘记ASP.NET在visual studio之外为您编译。因此,如果您的代码中有代码契约,您需要像通过正常构建一样对它们进行转换。简单的事实。至少你会看到,通过手动操作这些东西,你会看到有什么神奇的东西在为你表演;回答这个问题,我会把它记下来。不过,我必须说,由于这个(痛苦的)星号,代码契约对我来说已经失去了一部分光彩。