Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error when upgrading to WebAPI 2.1 XmlDocumentationProvider does not implement interface member GetDocumentation

I'm following the tutorial here:

http://www.asp.net/web-api/overview/releases/whats-new-in-aspnet-web-api-21#download

I created an MVC Web Api project in Visual Studio 2012 (.NET Framework 4.5), and ran this command in my NuGet Package Manager Console Install-Package Microsoft.AspNet.WebApi

When I tried to build my project, I get this error:

'CommonServices.Areas.HelpPage.XmlDocumentationProvider' does not implement interface member 
    'System.Web.Http.Description.IDocumentationProvider.GetDocumentation(System.Web.Http.Controllers.HttpControllerDescriptor)' c:\users\administrator\documents\visual studio 2012\Projects\CommonServices\CommonServices\Areas\HelpPage\XmlDocumentationProvider.cs

'CommonServices.Areas.HelpPage.XmlDocumentationProvider' does not implement interface member 
    'System.Web.Http.Description.IDocumentationProvider.GetResponseDocumentation(System.Web.Http.Controllers.HttpActionDescriptor)' c:\users\administrator\documents\visual studio 2012\Projects\CommonServices\CommonServices\Areas\HelpPage\XmlDocumentationProvider.cs

Is there something I missed?

like image 324
Null Reference Avatar asked Mar 10 '14 08:03

Null Reference


3 Answers

You can fix this issue by running the following two commands in the Package Manager Console

Install-Package Microsoft.AspNet.WebApi.HelpPage

This will install the required HelpPage components which are missing. You can then run an update on all NuGet Packages in your project in order to verify that all packages are up to date.

Update-Package -ProjectName 'YourProject' -Reinstall

(Remember to replace YourProject with the name of your actual project)

Update: If you continue to receive errors after building and running, you may need to update the Razor references in your Web.Config file to look like this

<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
like image 61
Alex Hopkins Avatar answered Oct 24 '22 00:10

Alex Hopkins


I got the same problem when getting Microsoft.AspNet.WebApi.

At Nuget Package Manager Console write this:

Update-Package -ProjectName 'YourProjectNameGoesHere' -Reinstall

This will update all your packages and it will solve your problem.I hope it helps

like image 33
Alberto Montellano Avatar answered Oct 24 '22 00:10

Alberto Montellano


I got the same error. This is how fixed it.

Add these two methods to the ~\Areas\HelpPage\XmlDocumentationProvider.cs class

    public virtual string GetDocumentation(HttpControllerDescriptor controllerDescriptor)
    {
        return "";
    }

    public virtual string GetResponseDocumentation(HttpActionDescriptor actionDescriptor)
    {
        return "";
    }

Obviously, I wouldn't use this solution with real-world Enterprise applications since I don't know if this breaks anything important. I would only do this if you're running a test project or something. (although it looks like only some kind of Documentation is the only thing which is affected)

like image 33
Venkata Krishna Avatar answered Oct 24 '22 00:10

Venkata Krishna