2016-07-19 36 views
5

rozmieszczonych aplikacji IIS 8.5 Asp.net rdzeńAsp.net rdzeń + IIS 8,5: widok „wskaźnik” nie stwierdzono

3 aplikacje Czołowy API i logowanie (w tym samym miejscu);

Wszystkie 3 działają PERFEKCYJNIE w wyrażeniach IIS z VS2015;

front-end (tylko html/angularjs) & API są doskonale działa na IIS 8.5

Ale dla logowania (IdentityServer4):

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

Rozumiem, że '~ /' odnosi się do podejście;

Moja struktura VS2015:
Visual Studio 2015 project structure

Testowane/sprawdzone:

  • .UseContentRoot (Directory.GetCurrentDirectory()) w Program.cs
  • Wszystkie uprawnienia do konta użytkownika na serwerze IIS_IUSRS
  • 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) 
        { 
        } 
    } 
    

mogę uzyskać dostęp do całej zawartości swobodnie 'wwwroot' tylko js/images/css

Jestem pojęcia na ten jeden.

+0

Czy sprawdziłeś, czy rozmieściłeś widoki? Czy możesz pokazać, jak wygląda Twój project.json? –

+0

Zapomniałem dodać folder "UI" poza "wwwroot" w elemencie publishOpcje w projekcie.json – DavidT

Odpowiedz

5

Szukałem więcej niż godzinę przed wysłaniem. Zrobił sobie przerwę i znalazłem to:

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

Add "UI" do opcji publikuje w project.json

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

Precyzja: "UI" odnosi się do folderu 'root' zawierający moje poglądy . Musisz uwzględnić wszystkie (foldery widoku root) w "publishOptions", aby je wyeksportować.

+0

Przykro mi z powodu bezużytecznej i złej edycji. Zbyt wiele godzin kodowania, myślę, że mój mózg miał się wkrótce wyłączyć ... Dzięki za twoją odpowiedź i tak –

+0

Wiem, że to powiedziałeś, ale nie rozumiem, co miałeś na myśli. Zwróć uwagę, że "interfejs użytkownika" odnosi się do nazwy folderu zawierającego widoki. Mój był nazywany "Widokami", więc dodanie "UI" do moich publishOptions nie działało: -p –