InvalidOperationException: представление 'Логин' не было найдено.После публикации - PullRequest
0 голосов
/ 25 марта 2019

Я получаю следующую ошибку после публикации автономного x64 на сервере IIS.

InvalidOperationException: представление 'Логин' не найдено.

При просмотре папки я вижу, что там нет папки для просмотра (опубликованной папки). В аналогичных темах люди предполагают, что Views / * включен в файл project.json, я не могу найти файл с этим название. Этот файл заменен профилями публикации, я пытался добавить

<ItemGroup>
  <File Include="Views/*">
     <publishTime>06/14/2018 00:26:42</publishTime>
  </File>
</ItemGroup>

к профилю публикации без удачи.

Я использую ядро ​​asp.net 2.2.2 и VS17.

Чтобы дать больше контекста. Когда кто-то, кто не вошел в систему, пытается получить доступ к домашней странице / индексу (сайт по умолчанию), он перенаправляется к действию (вход в систему через AccountController с использованием возврата RedirectToAction («вход в систему», «учетная запись»).

У меня есть следующая структура в моем проекте:

Controller/AccountController

Который имеет функцию

 [HttpGet]
 [AllowAnonymous]
 public async Task<IActionResult> Login(string returnUrl = null)
 {
       \\Logic
       Return View();
 }

Внутри папки Views есть папка Account, которая содержит файл .cshtml с именем «Login.cshtml»

Я должен добавить, что все работает, когда я запускаю сервер в VS17.

Ошибка возникает после того, как я разверну ее как автономную сборку.

Может ли ошибка базы данных вызвать такую ​​ошибку? (Некоторая ошибка в функции делает ее недействительной или что-то в этом роде)

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

Оказывается, что его нужно было собрать с помощью команды публикации dotnet.exe. Когда я сделал это через VS17, мнения не были включены.

0 голосов
/ 25 марта 2019

По умолчанию представления компилируются и встраиваются в опубликованное приложение, поэтому папка опубликованных представлений отсутствует. Сообщение об ошибке не жалуется на физическое отсутствие представления, а скорее на полное отсутствие представления в скомпилированном приложении. Скорее всего, вы неправильно ссылаетесь на представление Login, и оно не может быть найдено поиском на основе соглашений. Однако здесь недостаточно информации для полной оценки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...