【问题标题】:C# - Cannot call a HttpConfiguration Extension MethodsC# - 无法调用 HttpConfiguration 扩展方法
【发布时间】:2016-10-05 15:37:14
【问题描述】:

我无法调用HttpConfiguration 扩展方法:

using System.Configuration;
using System.Web.Http;
...
      var config = new HttpConfiguration();
      config.MapHttpAttributeRoutes();  // <-- error

错误:“System.Web.Http.HttpConfiguration”不包含 'MapHttpAttributeRoutes' 的定义并且没有扩展方法 'MapHttpAttributeRoutes' 接受类型的第一个参数 可以找到“System.Web.Http.HttpConfiguration”(您是否缺少 使用指令还是程序集引用?)

我尝试了 System.Web.Http 版本 4 和 5,以及“.NET Framework 4.5.2”和“.NET Framework 4”。

我错过了什么?

Reference

【问题讨论】:

  • 它对我来说工作正常。 var config = new System.Web.Http.HttpConfiguration(); config.MapHttpAttributeRoutes();
  • @Pietro,请确保您在执行该代码的项目中引用了 Assembly System.Web.Http.dll。也尝试清除 bin 文件夹,然后重建项目
  • @Nkosi,我选择了它。只是对其版本有疑问。我有:System.Web v. 4.0、System.Web.Http v. 4.0 和 System.Web.Http.Owin v. 5.2.3。我可以 System.Web.Http v. 5.2.3(匹配 Owin),但没有 System.Web > 4.0。这可能是个问题吗?
  • @Pietro,是的。使用 System.Web.Http 的 v5.2.3.0
  • @Nkosi,我做到了,我还升级了 System.Web.Http.Formatting。现在可以了。谢谢。

标签: c# .net asp.net-web-api2 extension-methods asp.net-web-api-routing


【解决方案1】:

确保您在执行该代码的项目中引用了Assembly System.Web.Http.dll, v5.2.3.0HttpConfigurationExtensions.MapHttpAttributeRoutes 已添加到需要上述程序集版本的 ASP.NET Web API 2.2。

【讨论】:

  • 是的,但我还需要将System.Net.Http.Formatting 升级到 5.2.3.0。
【解决方案2】:

修复了这个问题(与this one 严格相关)在项目> 参考管理器中指定:

Microsoft.Owin  2.0.2.0
Owin  1.0.0.0
System.Net.Http.Formatting  5.2.3.0
System.Web  4.0.0.0
System.Web.Http  5.2.3.0
System.Web.Http.Owin  5.2.3.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-25
    • 2014-10-12
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 2010-09-09
    相关资源
    最近更新 更多