ошибка загрузки с Angular template asp net core и iis local visual studio

#angular #visual-studio #asp.net-core #iis

#angular #visual-studio #asp.net-core #iis

Вопрос:

Я создал приложение в visual studio community 2019 web app core с шаблоном angular (код тот, который поставляется по умолчанию при создании приложения в Visual studio) приложение хорошо запускается с помощью iis express, но мне нужно, чтобы оно запускалось в локальном iis, я настроил локальныйiis, загрузил пакет хостинга, но когда я запускаю приложение в локальном iis, это происходит со мной, я показываю вам скриншоты: это моя program.cs

 public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
}
 

}

это мой startup.cs

Запуск общедоступного класса { общедоступный запуск (конфигурация IConfiguration) { Конфигурация = конфигурация; }

     public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews();
        // In production, the Angular files will be served from this directory
        services.AddSpaStaticFiles(configuration =>
        {
            configuration.RootPath = "ClientApp/dist";
        });
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Error");
            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            app.UseHsts();
        }

        app.UseHttpsRedirection();
        app.UseStaticFiles();
        if (!env.IsDevelopment())
        {
            app.UseSpaStaticFiles();
        }

        app.UseRouting();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "{controller}/{action=Index}/{id?}");
        });

        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.UseProxyToSpaDevelopmentServer("http://localhost:4200");
                spa.UseAngularCliServer(npmScript: "start");
            }
        });
    }
}
 

у меня есть эта версия angular и node

Я получаю эту ошибку при попытке запустить приложение в локальном iis, но в iis Express оно работает нормально

Но я могу получить доступ к методу контроллера, похоже, он не загружает angular

Кто-нибудь знает, в чем может быть проблема?

Комментарии:

1. Трудно сказать, в чем проблема, поскольку это зависит от вашей сборки / развертывания. Включите ведение журнала в файле web.config приложения и проверьте журналы — скорее всего, информация там.

Ответ №1:

Вы добавили оба приложения на веб-сайт по умолчанию? Или как вы развернули свои приложения? Я не вижу настройки CORS в вашем файле запуска. Кроме того, если вы добавили свое приложение на веб-сайт по умолчанию, вам может потребоваться изменить базовый href с «/» на «/ApplicationName /» или «./ApplicationName».