繁体   English   中英

在 Visual Studio 2017 中使用 Web 部署发布 ASP.NET Core 2.1/Angular 应用程序不会将 ClientApp/dist 文件夹复制到主机

[英]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

我想我几乎总结了标题中的问题。 详情如下:

启动:

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 文件夹,它可以完美运行。 我错过了什么?

<SpaRoot>ClientApp\</SpaRoot>

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM