Я хочу использовать Razor в консольном приложении или библиотеке классов для рендеринга HTML. Я также хотел бы, чтобы Intellisense работал в файлах .cshtml.
Обновление на 2026 год. См. мой обновленный ответ ниже. У меня это работает с файлами .razor и не зависит от сторонних библиотек.
В настоящее время я могу настроить это, выполнив следующие действия:
- Создать консольное приложение.
- Добавить файл .cshtml.
- В Свойствах установите для свойства Custom Tool значение RazorTemplatePreprocessor
Код: Выделить всё
var test = new Test();
test.Model = "Hi there";
var html = test.GenerateString();
Console.WriteLine(html);
- Повсюду красные волнистые линии жалуются на:
- Невозможно использовать var, потому что это C# 2.
- Невозможно найти тип или пространство имен различных типов.
- Вышеупомянутое особенно верно для типов, импортированных из другие библиотеки.
- Ключевое слово @model не распознается.
- Intellisense иногда работает, иногда нет.
Могу ли я что-нибудь сделать, чтобы реальный процесс кодирования Razor работал больше, как в веб-приложении ASP.NET?
Мобильная версия