Что я делаю: Разработка консольного приложения .NET Framework
, которое будет самостоятельно размещать веб-сайт ASP.NET (с использованием Microsoft.AspNetCore.Hosting
).
Что у меня есть: Консольное приложение работает, оно размещает веб-сайт по указанному domain:port
.Я настроил его на использование MVC, который также работает, то есть он находит контроллер, когда я перехожу на http://localhost:1234/Home/Index.
Проблема Теперь я хочу использовать Razor.Когда я добавляю .cshtml
файлы, я получаю следующие ошибки в окне Error List
: (Это не ошибки сборки, а ошибки, возникающие при открытии файла .cshtml. Если я закрываю файл, ошибки исчезают.Кроме того, проект создается успешно даже с этими ошибками)
'_ Page_Views_Home__ViewStart ___ Copy_cshtml.Execute ()': не найдено подходящего метода для переопределения
Имя «Контекст» не существует в текущем контексте
Имя 'ViewData' не существует в текущем контексте
Имя типа или пространства имен 'Помощники' не существует в пространстве имен 'System.Web'
Имя типа или пространства имен 'Linq' не завершаетсяв пространстве имен 'System'
Имя типа или пространства имен 'WebPages' не выходит в пространство имен 'System.Web'
Имя типа или пространства имен 'WebPages' не выходит в пространство имен 'System.Web'
Тип или имя пространства имен «WebPages» не выходят из пространства имен «System.Web»
Забавно, как произошла последняя ошибкаГрузы трижды для одного и того же файла, той же строки.
Различия между Консольное приложение (.NET Framework) и Веб-приложение ASP.NET (.NET Framework) Я до сих пор нашел:
- Я создал новое веб-приложение ASP.NET (.NET Framework), и у него тоже было
.cshtml
.Но вышеуказанные ошибки не появились. - Я сравнил два проекта, чтобы понять, в чем их отличие.В корневой папке проекта был файл
Web.config
и папка Views
.Я скопировал тогда в соответствующие места. Не удалось решить проблему . - Также были файлы Global.asax.exe и Global.asax.cs.Но они, похоже, не имеют ничего общего с
.cshtml
файлами (или?).
Чем мой проект консольного приложения отличается от веб-приложения ASP.NET (.NET Framework) из-за которого я получаю вышеуказанные ошибки для .cshtml
файлов ?
PS Не общая разница.Но, в частности, почему VS не анализирует синтаксис в файлах .cshtml с помощью Razor.Нужно ли мне изменять файл .csproj и что-то там настраивать?
Что можно сделать, чтобы исправить эту проблему?
Обновление
Iустановил все пакеты NuGet в консольном приложении .NET Framework , которые были установлены по умолчанию в .NET Framework ASP.NET Web Application .Я все еще получаю ошибки для файлов .cshtml.так что я предполагаю, что это не имеет никакого отношения к пакетам.
Теперь я обращаю внимание на файлы .csproj.Поэтому я сравниваю файлы проекта для двух типов проектов.Очевидно, что у них есть различия, но я не могу точно указать на что-либо.
Я добавил списки с файлами .csproj:
- .NET Framework ASP.NETВеб-приложение
- Консольное приложение .NET Framework