2016-07-19 10 views
5

Eingesetzte App auf IIS 8.5, Asp.net KernAsp.net Core + 8.5 IIS: Die 'Index' Ansicht wurde nicht

3-Anwendungen, Front-end, API und Anmeldung finden (auf der gleichen Seite);

Alle 3 funktionieren PERFEKT in IIS Express von VS2015;

Das Front-End (nur html/AngularJS) & API arbeitet perfekt auf IIS 8.5

Aber für die Anmeldung (IdentityServer4):

InvalidOperationException: The view 'Index' was not found. The following locations were searched: 
- ~/UI/Home/Views/Index.cshtml 
- ~/UI/SharedViews/Index.cshtml 

Ich verstehe, dass '~ /' bezieht sich auf der Approot;

Meine VS2015 Struktur:
Visual Studio 2015 project structure

Geprüft/Suche:

  • .UseContentRoot (Directory.GetCurrentDirectory()) in Program.cs
  • Alle Privilegien IIS_IUSRS Benutzerkonto auf dem Server
  • CustomViewLocationExpander:

    public class CustomViewLocationExpander : IViewLocationExpander { 
    
        public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations){ 
         yield return "~/UI/{1}/Views/{0}.cshtml"; 
         yield return "~/UI/SharedViews/{0}.cshtml"; 
        } 
    
        public void PopulateValues(ViewLocationExpanderContext context) 
        { 
        } 
    } 
    

kann ich alle Inhalte zugreifen frei auf 'wwwroot' nur js/images/css

Ich bin auf diesem ahnungslos.

+0

Haben Sie überprüft, ob Sie die Ansichten bereitgestellt haben? Können Sie mitteilen, wie Ihre project.json aussieht? –

+0

Ich habe vergessen, den "UI" Ordner neben dem "wwwroot" im publishOptions Element in der project.json – DavidT

Antwort

5

Ich suchte mehr als eine Stunde vor dem Posten. Nahm eine Auszeit und fand dieses:

https://github.com/IdentityServer/IdentityServer4.Samples/issues/23

add "UI" zu den Veröffentlichungsoptionen in project.json

"publishOptions": { 
    "include": [ 
    "wwwroot", 
    "UI", 
    "YourCertificateName.pfx", 
    "web.config" 
]} 

Präzision: "UI" Bezieht sich auf die 'root' Ordner meine Ansichten enthalten . Sie müssen alle (Root-Ansichtsordner) in "publishOptions" einschließen, um exportiert zu werden.

+0

Entschuldigung für die nutzlose und schlechte Bearbeitung. Zu viele Stunden Kodierung, ich denke, mein Gehirn wollte letzte Nacht abschalten ... Danke für deine Antwort trotzdem –

+0

Ich weiß, du hast das gesagt, aber ich habe nicht verstanden, was du meintest. Beachten Sie, dass sich "UI" auf den Namen des Ordners bezieht, der die Ansichten enthält. Meine wurde "Views" genannt, daher funktionierte das Hinzufügen von "UI" zu meinen publishOptions nicht :-p –

Verwandte Themen