Mam aplikację ASP.NET Core. Aplikacja musi być uruchomiona przez usługę Windows. Gdy usługa uruchamia aplikację, mam następujący błąd:ASP.NET Core nie może znaleźć widoków
InvalidOperationException: The view 'Index' was not found. The following locations were searched:
/Views/Home/Index.cshtml
/Views/Shared/Index.cshtml
EnsureSuccessful
MoveNext
ThrowForNonSuccess
HandleNonSuccessAndDebuggerNotification
MoveNext
ThrowForNonSuccess
HandleNonSuccessAndDebuggerNotification
MoveNext
MoveNext
ThrowForNonSuccess
HandleNonSuccessAndDebuggerNotification
MoveNext
MoveNext
ThrowForNonSuccess
HandleNonSuccessAndDebuggerNotification
MoveNext
ThrowForNonSuccess
HandleNonSuccessAndDebuggerNotification
MoveNext
ThrowForNonSuccess
HandleNonSuccessAndDebuggerNotification
MoveNext
Jeśli jednak uruchomić aplikację klikając na plik exe, wszystko wydaje się być normalne. Sprawdziłem dwukrotnie, usługa miała wystarczające uprawnienia, a widoki są we właściwym miejscu.
ALE! Miałem sytuację, gdy usługa szukała innego pliku gdzieś w folderze win32, ponieważ popełniłem błąd i użyłem Directory.GetCurrentDirectory()
zamiast Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location)
, aby znaleźć bieżący folder. Czy to możliwe, że podobny błąd został popełniony?
Spróbuj ustawić bieżący katalog przy uruchomieniu usługi. Domyślnie jest System32 Myślę, że –
@ Aleksey L. Dzięki, właśnie to rozgryzłem! :RE –