Ułatwiam włączenie SPA do projektu WebAPI. Zawsze umieszczam kod SPA w oddzielnym folderze (zawsze nazywam go "aplikacją") i powiadamam WebAPI, aby załadował plik "index.html" w tym folderze po kliknięciu głównego adresu URL witryny WebAPI. Do obsługi plików statycznych używam OWIN z wtyczkami FileSystems i StaticFiles.
Wiem, pytanie nie było "jak" je wdrożyć, ale może ci się przydać, jeśli zdecydujesz się na użycie OWIN. Kod ten fragment mówi OWIN (zatem WebAPI) gdzie szukać „index.html”, a statyczne (CSS, JS ...) plików)
builder.UseDefaultFiles(new DefaultFilesOptions()
{
RequestPath = new PathString(),
DefaultFileNames = new List<string>() { "index.html" },
FileSystem = new PhysicalFileSystem(@".\app")
});
builder.UseStaticFiles(new StaticFileOptions()
{
RequestPath = new PathString(),
FileSystem = new PhysicalFileSystem(@".\app")
});
Technicznie nie potrzebuje nawet projektu. Wolę używać sublime zamiast Visual Studio for Angular. –