I have a webapi project with a base ApiController named SlashBaseService:
[RouteArea(\"uBase\")]
public abstract class SlashBaseService : ApiController
{
}
<
In my case, there were two controllers with the same name, in different folders. Renaming them solved the problem instantly.
Found the problem.
ApiControllers
class names need to be suffixed with "Controller", and mine was not.
Changing it to SampleSlashBaseController
solved the problem.
NOTE:
It is possible to suffix it with "Service" as I did, but then you have to implement a custom IHttpControllerSelector
like described here: http://netmvc.blogspot.no/2012/06/aspnet-mvc-4-webapi-support-areas-in.html
In my case the Controller was defined properly, but was not marked public.
You also need to make sure the Controller class is Public
For what it's worth, I ran into this and my problem was my manually-added class wasn't inheriting from ApiController. The class definition needs to be public class QueueController : ApiController
not public class QueueController
. What a dumb thing to overlook.