I am building a Web Application in ASP .NET 5 using Visual Studio 2015. I have created a solution with Data Access, Business, Services and User Interface layers. I have referenced the Services in User Interface layer.Since in MVC 6 both Web API and MVC fall under the same project template, it is necessary to have two different layers for services and UI or same project with different controllers is enough.?
And also in the UI project I have uncommented the following lines in Startup.cs
services.AddWebApiConventions();
routes.MapWebApiRoute("DefaultApi", "api/{controller}/{id?}");
While running the project, the home page comes up fine but when I click on links in the home page the url changes like this
http://localhost:45075/api/Home
And it gives error page saying that
AmbiguousActionException: Multiple actions matched. The following actions matched route data and had all constraints satisfied.
Sample.Services.Controllers.HomeController.Index
Sample.Services.Controllers.HomeController.About
Sample.Services.Controllers.HomeController.Contact
Sample.Services.Controllers.HomeController.Error
My understanding is that since I enabled Web Api conventions, it is going to the Home Controller of services which has route attribute
[Route("api/[controller]")]
If so how resolve this conflict by specifying namespace or some constraints while rendering views in the routes.
I am a beginner. Correct me if I am wrong.

