2015-04-09 13 views
7

Gram z ASP.NET5/MVC6 i zbudowałem małą aplikację internetową. Kiedy używam serwera debugowania IIS Express programu Visual Studio, wszystko działa zgodnie z oczekiwaniami. Ale kiedy używam profilu serwera "web", czyli serwera WebListener, działają tylko moje kontrolery i widoki MVC. Jednak wszystko przechowywane pod "wwwroot" zwraca 404. To, co tam umieściłem to pliki CSS, JS i pliki obrazów.MVC6 Samohostowana zawartość wwwroot zwraca 404, IIS Express nie

Po przełączeniu z powrotem do usługi IIS Express treść zostanie poprawnie pobrana.

pełny kod źródłowy jest dostępny tam: https://github.com/acastaner/acastaner.fr-mvc6

To moja klasa Uruchomienie:

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

To jest mój plik 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" 
    } 
} 

Używam Razor w przypadku widoków, oto przykład, w jaki sposób odwołuję się do plików:

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

Czy jest coś oczywistego, czego całkowicie przegapiłem?

Edit:

Próbowałem za pomocą @Url.Content("~/css/bootstrap.min.css") ale efekt jest taki sam.

+0

Nie sądzę IIS jest podłączona jeszcze. Myślę, że musisz iść z IIS Express na razie, podczas gdy VS jest nadal w CTP – levelnis

+0

Ale staram się używać samo-hostingu (tj .: aplikacja uruchamia się jako konsola), a nie IIS? – Astaar

+0

Myślę, że mam ten sam problem co ty ... Tylko z niezmodyfikowanym (dosłownie) projektem podglądu strony internetowej MVC 6: http://stackoverflow.com/questions/31060193/deploy-visual-studio-web-app -to-iis-maybe-even-azure-ciągły-wdrożenie-git – derekmx271

Odpowiedz

11

myślę, że trzeba jeszcze jedną zależność: "Microsoft.AspNet.StaticFiles": "1.0.0-beta3" i app.UseStaticFiles(); przed app.UseMvc

+0

To było to, dzięki! (przepraszam za opóźnienie w potwierdzeniu twojej odpowiedzi, podróżowałem) – Astaar

Powiązane problemy