MVC6自托管wwwroot内容返回404,IIS Express没有

Ast*_*aar 9 asp.net-mvc owin asp.net-core-mvc asp.net-core

我正在玩ASP.NET5/MVC6,我构建了一个小型Web应用程序.当我使用Visual Studio的IIS Express调试服务器时,一切都按预期工作.但是当我使用"web"服务器配置文件(意思是WebListener服务器)时,只有我的MVC控制器和视图才有效.但是,存储在"wwwroot"下的所有内容都返回404.我在那里放了CSS,JS和图像文件.

一旦切换回IIS Express,就会正确获取内容.

完整的源代码可以在那里找到:https://github.com/acastaner/acastaner.fr-mvc6

这是我的Startup类:

public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
        }

        public void Configure(IApplicationBuilder app)
        {
            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller}/{action}/{id?}",
                    defaults: new { controller = "Home", action = "Index" });
            });
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是我的project.json文件:

{
    "webroot": "wwwroot",
    "version": "1.0.0-*",
    "dependencies": {
        "Microsoft.AspNet.Server.IIS": "1.0.0-beta3",
        "Microsoft.AspNet.Diagnostics": "1.0.0-beta3",
        "Microsoft.AspNet.Mvc": "6.0.0-beta3",
        "Microsoft.AspNet.Server.WebListener": "1.0.0-beta3"
    },
    "frameworks": {
        "aspnet50": { },
        "aspnetcore50": { }
    },
    "bundleExclude": [
        "node_modules",
        "bower_components",
        "**.kproj",
        "**.user",
        "**.vspscc"
    ],
    "exclude": [
        "wwwroot",
        "node_modules",
        "bower_components"
    ],
    "commands": {
        "web ": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000"
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Razor作为视图,这里是我如何引用文件的示例:

<link href="~/css/bootstrap.min.css" rel="stylesheet" type="text/css">
Run Code Online (Sandbox Code Playgroud)

是否有一些我完全错过的明显事物?

编辑:

我尝试过使用,@Url.Content("~/css/bootstrap.min.css")但效果是一样的.

Ric*_*cky 13

我认为你需要一个更依赖:"Microsoft.AspNet.StaticFiles": "1.0.0-beta3"app.UseStaticFiles();app.UseMvc