MVC не может найти виды после преобразования в AS PNET Core 3.1 - PullRequest
1 голос
/ 16 января 2020

Мы конвертируем веб-сайт MVC / Angular из AS PNET Core 2.2 в AS PNET Core 3.1. Я получил сборку для запуска без ошибок и предупреждений, но когда он запускается (в Visual Studio 2019), он ищет Home / Index, находит контроллер нормально и ищет Home / Index View, но он не в состоянии найти его, даже если он там (в Views / Home / Index.cs html), именно там, где он должен быть (и там, где мы занимались разработкой этого сайта в течение нескольких месяцев. в тестовом примере, который я могу установить для файла веб-проекта на netcoreapp2.2, и сайт будет работать нормально, затем остановить его и изменить на netcoreapp3.1, без каких-либо других изменений, и он потерпит неудачу. Ошибки именно то, что вы ожидаете если файл отсутствовал:

System.InvalidOperationException: не было найдено представление 'Index'. Были найдены следующие местоположения:

/ Views / Home / Index.cs html

/ Представления / Shared / Index.cs html

/ Pages / Shared / Index.cs html

Но файл есть! Я полностью сбит с толку.

Может кто-нибудь дать м намек на то, что происходит?

Спасибо.

1 Ответ

0 голосов
/ 16 января 2020

Проверьте часть о настройках маршрутизации - см. Миграция с ASP. NET Core 2.2 на 3.0

Скорее всего, вам нужно изменить это в своем классе Startup:

app.UseMvc(routes =>
    {
        routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}");
    });

с этим:

app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}");
    });
...