Я пытаюсь использовать IRazorViewEngine
в консольном приложении <Project Sdk="Microsoft.NET.Sdk">
(не <Project Sdk="Microsoft.NET.Sdk.Web">
) для отображения страницы .cshtml
в памяти. Я зарегистрировал все необходимые зависимости в ServiceProvider
. При вызове следующей строки я получаю CompilationFailedException
:
_viewEngine.GetView(directory, name, true);
Исключение:
Microsoft.AspNetCore. Mvc .Razor.Compilation.CompilationFailedException: одна или несколько компиляций произошли ошибки:
kmcajniq.bah (4,20): ошибка CS0400: не удалось найти тип или имя пространства имен «Microsoft» в глобальном пространстве имен (отсутствует ссылка на сборку?)
kmcajniq.bah ( 5,19): ошибка CS0400: не удалось найти тип или имя пространства имен «Microsoft» в глобальном пространстве имен (отсутствует ссылка на сборку?)
kmcajniq.bah (4,82): ошибка CS0518: предопределенный тип «System.Type» не определен или не импортирован
kmcajniq.bah (4,115): ошибка CS0518: предопределенный тип «System.String» не определен или не импортирован
kmcajniq.bah (4,132): ошибка CS0518: предопределенный тип 'System.String' не определено или не импортировано
kmcajniq.bah (5,81): ошибка CS0518: Предопределенный тип 'System.String' не определен или не импортирован
и другие другие отсутствуют System
и Microsoft
тип es.
Однако , когда я меняю sdk проекта на Microsoft.NET.Sdk.Web
, все работает нормально.
Чего не хватает Microsoft.NET.Sdk
, что Microsoft.NET.Sdk.Web
делает, что рендеринг бритвы работает?