System.InvalidOperationException при запуске проекта - PullRequest
0 голосов
/ 11 июня 2018

Я уже некоторое время работаю над этой проблемой, и я не уверен, что еще можно попробовать.Я получаю следующее сообщение об ошибке:

System.InvalidOperationException: представление «Индекс» или его мастер не найдены или механизм просмотра не поддерживает найденные местоположения.Были найдены следующие местоположения:
~ / Views / Home / Index.aspx
~ / Views / Home / Index.ascx
~ / Views / Shared / Index.aspx
~ / Views / Shared/Index.ascx
~ / Просмотров / Home / Index.cshtml
~ / Views / Home / Index.vbhtml
~ / Views / Shared / Index.cshtml
~ / Views / Shared / Index.vbhtml

Представление находится в Views/Home/Index.cshtml

Вот класс RouteConfig

public class RouteConfig {  
  public static void RegisterRoutes(RouteCollection routes) {
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
      name: "Default",
      url: "{controller}/{action}/{id}",
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
  }
}

Даже установка точки останова в действии Index наДомашний контроллер не срабатывает.Действие контроллера индекса просто возвращает представление:

public ActionResult Index() {
  return View("~/Views/Home/Index.cshtml");
}

Настройки проекта установлены на Use Local IIS Web server

Web settings for project

ПостроениеПроект успешен.Нет событий сборки.Целевой фреймворк - .NET Framework 4.5.Тип вывода - Class Library.

Я сравнивал все, что мог придумать, с другим работающим проектом, и мне ничего не выделялось.Я даже сравнил файлы .csproj в обоих файлах, и единственное отличие, казалось, было <Content Include строк для файлов, которых нет в другом проекте.Любые идеи о том, где искать дальше, чтобы исправить это?

Ответы [ 3 ]

0 голосов
/ 11 июня 2018

Попробуйте щелкнуть правой кнопкой мыши свой index.cshtml и выберите Свойства.В окне свойств установите Build Action в Content.Это может решить вашу проблему.

Также убедитесь, что у вас есть файл _Layout.cshtml в общей папке, если ваш _ViewStart.cshtml указывает на это.

0 голосов
/ 11 июня 2018

После того, как я решил прекратить фокусироваться на ошибке и начать фокусироваться на том, почему точки прерывания не были достигнуты, я обнаружил, что этот ответ

Хорошо, так что через 4 часа потрачено впустую,Я считаю, что установка моего веб-проекта в качестве запуска проекта решает проблему!Это, безусловно, должно быть ошибкой ...

Надеюсь, я спасу кого-то там полдня:)

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

0 голосов
/ 11 июня 2018

Вы должны просто сказать return View("Index"); или просто return View(); Он будет искать представление с тем же именем, что и у метода действия

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