构建后

时间:2015-11-27 07:21:40

标签: c# asp.net asp.net-mvc asp.net-core

我正在探索ASP。 NET 5并遵循一些教程。

我正在使用Visual Studio 2015.

我打开了Project> ASP NET Web应用程序> ASP NET 5模板>空。

我做了一个简单的构建,它显示了" Hello World"

所以我在wwwroot目录中添加了index.html

并在 startup.cs 代码

中注释掉了hello world行
public class Startup
{        
    public void ConfigureServices(IServiceCollection services)
    {
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app)
    {
    //    app.UseIISPlatformHandler();

    //    app.Run(async (context) =>
    //    {
    //        await context.Response.WriteAsync("Hello World");
    //    });
    }

    // Entry point for the application.
    public static void Main(string[] args) => WebApplication.Run<Startup>(args);
}

现在,当我构建并运行时,我得到一个空白屏幕。它应该显示index.html,但它不是。

编辑:使用app.UseStaticFiles();只适用于/index.html而不是一般。

答案我发现ASPNET的所有测试版都有 app.UseStaticFiles(); 来提供静态文件。现在1.0.0-rc1-final已经发布,我们必须使用 app.UseDefaultFiles(); 以及

1 个答案:

答案 0 :(得分:1)

默认情况下,ASP.NET 5管道不会提供文件,即使它们位于wwwroot文件夹中。您必须通过添加对Microsoft.AspNet.StaticFiles包的引用然后将静态文件中间件添加到管道中来明确告诉它您想要静态文件:

public void Configure(IApplicationBuilder app)
{
    app.UseStaticFiles();
}

之后,您可以导航到<url>/index.html并获取预期的文件。