问题
I cannot call an HttpConfiguration
extension method:
using System.Configuration;
using System.Web.Http;
...
var config = new HttpConfiguration();
config.MapHttpAttributeRoutes(); // <-- error
Error: 'System.Web.Http.HttpConfiguration' does not contain a definition for 'MapHttpAttributeRoutes' and no extension method 'MapHttpAttributeRoutes' accepting a first argument of type 'System.Web.Http.HttpConfiguration' could be found (are you missing a using directive or an assembly reference?)
I tried both with System.Web.Http version 4 and 5, and with ".NET Framework 4.5.2" and ".NET Framework 4".
What am I missing?
Reference
回答1:
Make sure you have a reference to Assembly System.Web.Http.dll, v5.2.3.0
in your project where that code is being executed. HttpConfigurationExtensions.MapHttpAttributeRoutes
was added to ASP.NET Web API 2.2 which requires the above mentioned version of the assembly.
回答2:
Fixed this problem (strictly related to this one) specifying in Project > Reference Manager:
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
来源:https://stackoverflow.com/questions/39878296/c-sharp-cannot-call-a-httpconfiguration-extension-methods