How to Deploy and host .Net Core 2 and Angular 6 app

Normally, you will have two separate projects, i.e. one for .NET Core Web API 2.0 and the other one is Angular 6. On our Windows environment, you will find a root folder called httpdocs



Problem: 

If you simply deploy the contents of the folder inside dist to the root folder httpdocs on server, there will be an error message, which states that "it cannot find any page", but the API still works.

If you transfer the whole folder inside httpdocs and set server Host setting to define document root to the folder:


It will find the index.html and show me my landing page. However then API won't work.

If you leave it as is and change the document root back to httpdocs ( where the API files are ), but push the index.html from httpdocs/website to httpdocs ( in this case I also edit index.html to point to website folder for resources etc ) in the hope it will find it ( server IIS setting )



Solution:

1) Please add 2 lines of code in Configure method of Startup.cs in the API

app.UseDefaultFiles();
app.UseStaticFiles(); // For the wwwroot folder

Where according to MSDN, "With UseDefaultFiles, requests to a folder search for: index.html"

2) Please manually add wwwroot folder which for some reason was not generating upon publishing command for your API project.

3) In that folder, please copy all contents of my dist/website angular publish files


Now, it should work fine.

If there is any issue, please ensure you raise a ticket via our Help Desk System

Posted by: ASPHostServer Administrator - Tue, Oct 23, 2018 at 8:18 PM. This article has been viewed 11366 times.
Online URL: http://faq.asphosthelpdesk.com/article.php?id=316