1

Я не могу назвать метод HttpConfiguration расширение:C# - не может вызывать методы расширения HttpConfiguration

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?)

Я попытался как с System.Web.Http версии 4 и 5, а также с».NET Framework 4.5 .2 "и" .NET Framework 4 ".

Что мне не хватает?

Reference

+0

Its работает нормально для меня. var config = new System.Web.Http.HttpConfiguration(); config.MapHttpAttributeRoutes(); – sam

+0

@Pietro, убедитесь, что у вас есть ссылка на Assembly System.Web.Http.dll в вашем проекте, где этот код выполняется. Также попробуйте очистить папку bin, а затем перестроить проект – Nkosi

+0

@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

ответ

1

Убедитесь, что вы есть ссылка на Assembly System.Web.Http.dll, v5.2.3.0 в проекте, где этот код выполняется. HttpConfigurationExtensions.MapHttpAttributeRoutes был добавлен в ASP.NET Web API 2.2, который требует вышеупомянутой версии сборки.

+0

Да, но мне также нужно было обновить 'System.Net.Http.Formatting' до 5.2.3.0. – Pietro

0

Fixed эту проблему (строго связанную с this one) с указанием в 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