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.
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
Ale staram się używać samo-hostingu (tj .: aplikacja uruchamia się jako konsola), a nie IIS? – Astaar
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