ошибкой, может вы сталкивались с таки странным поведением?
есть тестовый сервер, на который паблишим релизную версию WebApi с вьюшками (.net 7)
там код по поиску вьюшки работает нормально (IRazorViewEngine _razorViewEngine)
var findViewResult = _razorViewEngine.FindView(actionContext, viewName, false);
if (!findViewResult.Success)
{
var searchedLocations = getViewResult.SearchedLocations.Concat(findViewResult.SearchedLocations);
var errorMessage = string.Join(
Environment.NewLine,
new[] { $"Couldn't find view '{viewName}'. The following locations were searched:" }.Concat(searchedLocations)); ;
throw new InvalidOperationException(errorMessage);
}
view = findViewResult.View;
но когда паблишим на боевой сервер, он почему то не может найти эту самую вьюшку. структура папок и файлов совпадают с тестовым сервером. когда копируем файлы из теста в прод, все работает нормально.
не знаете в чем может быть проблема? (мы подозреваем что дело в деплое, но что там может быть не так, непонятно)
Как вариант, могу предположить, что дело в пути к View. Путь абсолютный или относительный? Какой путь ко view на сервере получается? Проверьте
клон сервера сделайте и конфиги прода укажите
прекомпиляция вьюшек есть?
Да, кажется в эту сторону нужно смотреть.
https://learn.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-8.0&tabs=visual-studio#enable-runtime-compilation-for-all-environments а эт есть?
нет, только s.AddControllersWithViews();
Ну тогда лишь прекомпилированные вьюхи будут
Магжан писал, что .NET 7
Опять же тут написано, что на тестовом сервере работает, а на боевом нет. Как вариант, поймали бы проблему сразу на тестовом, если бы неправильно Dockerfile написали
название окружения совпадают?
Обсуждают сегодня