asp.net-mvc – MVC6自托管wwwroot内容返回404,IIS Express没有

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – MVC6自托管wwwroot内容返回404,IIS Express没有前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在玩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" });
            });
        }
    }

这是我的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"
    }
}

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

<link href="~/css/bootstrap.min.css" rel="stylesheet" type="text/css">

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

编辑:

我确实尝试使用@ Url.Content(“〜/ css / bootstrap.min.css”),但效果是一样的.

解决方法

我认为你还需要一个依赖:“Microsoft.AspNet.StaticFiles”:“1.0.0-beta3”和app.UseStaticFiles();在app.UseMvc之前
原文链接:https://www.f2er.com/aspnet/247416.html

猜你在找的asp.Net相关文章