2015-04-09 8 views
7

Sto giocando con ASP.NET5/MVC6 e ho creato una piccola applicazione web. Quando utilizzo il server di debug di IIS Express di Visual Studio, tutto funziona come previsto. Ma quando utilizzo il profilo del server "web", ovvero il server WebListener, funzionano solo i controller e le viste MVC. Tuttavia, tutto ciò che è memorizzato in "wwwroot" restituisce un 404. Quello che ho messo lì sono i file CSS, JS e immagine.MVC6 Contenuti wwwroot con hosting autonomo restituisce 404, IIS Express non

Non appena ritorno a IIS Express, il contenuto viene recuperato correttamente.

Il codice sorgente completo è disponibile qui: https://github.com/acastaner/acastaner.fr-mvc6

Questa è la mia classe di avvio:

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" }); 
      }); 
     } 
    } 

Questo è il mio file 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" 
    } 
} 

sto usando Razor per le viste, ecco un esempio di come faccio riferimento ai file:

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

C'è qualcosa di ovvio che mi è totalmente mancato?

Edit:

ho provato usando @Url.Content("~/css/bootstrap.min.css") ma l'effetto è lo stesso.

+0

Non credo IIS è collegato ancora. Penso che devi andare con IIS Express per ora mentre VS è ancora in CTP – levelnis

+0

Ma sto cercando di usare l'auto-hosting (es: l'applicazione inizia come console), non IIS? – Astaar

+0

Penso di avere lo stesso problema di te ... Solo con un progetto di anteprima del sito Web MVC 6 non modificato (letteralmente): http://stackoverflow.com/questions/31060193/deploy-visual-studio-web-app -to-iis-forse-anche-azure-continuous-deployment-git – derekmx271

risposta

11

Penso che è necessario un ulteriore dipendenza: "Microsoft.AspNet.StaticFiles": "1.0.0-beta3" e app.UseStaticFiles(); prima app.UseMvc

+0

E 'stato così, grazie! (scusa per il ritardo nella convalida della tua risposta, stavo viaggiando) – Astaar