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