【问题标题】:Publishing an ASP.NET Core 2.1/Angular application with Web Deploy in Visual Studio 2017 doesn't copy ClientApp/dist folder to the host在 Visual Studio 2017 中使用 Web Deploy 发布 ASP.NET Core 2.1/Angular 应用程序不会将 ClientApp/dist 文件夹复制到主机
【发布时间】:2019-12-26 14:43:32
【问题描述】:

我想我已经在标题中总结了这个问题。详情如下:

启动:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

    services.AddSpaStaticFiles(configuration =>
    {
        configuration.RootPath = "ClientApp/dist";
    });

    var connectionString = Configuration.GetConnectionString("DefaultConnection");

    services.AddScoped<IDbConnection>(c => new SqlConnection(connectionString));

    RegisterRepositories(services);
    RegisterServices(services);
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Error");
        app.UseHsts();
    }

    app.UseMiddleware<MyCustomMiddleware>();
    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseSpaStaticFiles();

    app.UseMvc(roues =>
    {
        roues.MapRoute(
            name: "default",
            template: "{controller}/{action=Index}/{id?}");
    });

    app.UseSpa(spa =>
    {
        spa.Options.SourcePath = "ClientApp";

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

上面的代码大部分是在我创建新项目时由 Visual Studio 生成的。 然后,如果我手动复制 dist 文件夹,它将完美运行。我错过了什么?

【问题讨论】:

  • 经过三个小时的绝望调试和问题搜索后,我发现了核心项目的 csproj 文件中缺少 ClientApp\ 标记的恼人问题根源。

标签: angular asp.net-core visual-studio-2017 web-deployment publish


【解决方案1】:
<SpaRoot>ClientApp\</SpaRoot>

核心项目的 csproj 文件中缺少。

【讨论】:

    猜你喜欢
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    • 2018-03-29
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    • 2019-09-25
    相关资源
    最近更新 更多