Q:

ASP.NET Core multiple angular app

I have an ASP.NET Core 2.1 and I need to setup workspace for multiple Angular applications with following routing:
http://someurl.com/main -> first app 
http://someurl.com/admin -> second app
I use angular-cli.json with following settings:
"apps": [
{
  "root": "src",
  "outDir": "dist",
  "assets": [
    "assets"
  ],
  "index": "index.html",
  "main": "main.ts",
  "polyfills": "polyfills.ts",
  "test": "test.ts",
  "tsconfig": "tsconfig.app.json",
  "testTsconfig": "tsconfig.spec.json",
  "prefix": "app",
  "styles": [
    "styles.css",
    "../node_modules/bootstrap/dist/css/bootstrap.min.css"
  ],
  "scripts": [],
  "environmentSource": "environments/environment.ts",
  "environments": {
    "dev": "environments/environment.ts",
    "prod": "environments/environment.prod.ts"
  }
},
{
  "root": "src2",
  "outDir": "dist2",
  "assets": [
    "assets"
  ],
  "index": "index.html",
  "main": "main.ts",
  "polyfills": "polyfills.ts",
  "test": "test.ts",
  "tsconfig": "tsconfig.app.json",
  "testTsconfig": "tsconfig.spec.json",
  "prefix": "app",
  "styles": [
    "styles.css",
    "../node_modules/bootstrap/dist/css/bootstrap.min.css"
  ],
  "scripts": [],
  "environmentSource": "environments/environment.ts",
  "environments": {
    "dev": "environments/environment.ts",
    "prod": "environments/environment.prod.ts"
  }
}

]
I've been trying to setup mapping in Startup.cs like below:
app. Map("/main", l => 
        {
            app. UseSpa(spa =>
            {
                // To learn more about options for serving an Angular SPA from ASP.NET Core,
                // see https://go.microsoft.com/fwlink/?linkid=864501

                spa. Options. SourcePath = "ClientApp";

                if (env. IsDevelopment())
                {
                    spa. UseAngularCliServer(npmScript: "start");
                }
            });
        });

        app. Map("/admin", l =>
        {
            app. UseSpa(spa =>
            {
                // To learn more about options for serving an Angular SPA from ASP.NET Core,
                // see https://go.microsoft.com/fwlink/?linkid=864501

                spa. Options. SourcePath = "ClientApp";
                spa. UseSpaPrerendering(options =>
                {
                    options. BootModulePath = $"{spa. Options. SourcePath}/dist2/main.bundle.js";
                    options. BootModuleBuilder = env. IsDevelopment()
                        ?  new AngularCliBuilder(npmScript: "build2")
                        : null;
                });

                if (env. IsDevelopment())
                {
                    spa. UseAngularCliServer(npmScript: "start2");
                }
            });
        });

With following scripts in project.json:
"scripts": {
"ng": "ng",
"start": "ng serve --extract-css --base-href=/main/ --serve-path=/main/",
"start2": "ng serve --app=1 --extract-css --base-href=/admin/ --serve-path=/admin/ ",
"build": "ng build --extract-css",
"build2": "ng build --app=1 --extract-css"

}
When I launch solution main app work's well but when I tried go to admin I have failed with error:

Error: Cannot match any routes.  URL Segment: 'admin' Error: Cannot
  match any routes. 

Please tell what I've missed and did wrong to achieve my goal
Thanks for any advice ! 

A:

You are registering the Single Page Application (SPA) on the app not the mapped path:
app. Map("/admin", l =>
{
    app. UseSpa(spa =>

Change app to l to fix the issue:
app. Map("/admin", l =>
{
    l.UseSpa(spa =>

