Не удалось найти тип или имя пространства имен 'IWebHostEnvironment' (отсутствует директива using или ссылка на сборку?)

11

Я использую .NET Core 3.0.100; Сообщество Microsoft Visual Studio 2019 Preview Версия 16.4.0 Preview 1.0; Блазор-сервер (официальный релиз).

Я пытаюсь добавить аутентификацию и авторизацию в мое веб-приложение Blazor-сервера. Я читаю рекомендации здесь https://docs.microsoft.com/en-us/aspnet/core/security/authentication/scaffold-identity?view=aspnetcore-3.0&tabs=visual-studio#scaffold-identity-into-an -empty-проект

(Я также прочитал это https://github.com/aspnet/Identity/issues/1825 )

Затем я щелкаю правой кнопкой мыши на Project, выбираю Add\New Scaffolded Item...

Я читаю файл ScaffoldingReadme.txt, затем следую инструкциям.

Жму F5 для отладки, улавливаю ошибку

Severity:       Error
Error Code:     CS0246
Description:    The type or namespace name 'IWebHostEnvironment' could not be found (are you missing a using directive or an assembly reference?)
Project:        foo
File:       C:\Users\donhuvy\Desktop\foo\bar\obj\Debug\netcoreapp3.0\Razor\Pages\Shared\_Layout.cshtml.g.cs
Line:       455
Suppression State:  Active

Скриншот [! [Введите описание изображения здесь] [4]] [4]

Поскольку файл находится \obj\Debug\netcoreapp3.0\Razor\Pages\Shared\_Layout.cshtml.g.csвнутри Razor Class Library, Microsoft.AspNetCore.Identity.UI (3.0.0)я не могу его редактировать.

Как это исправить?

До Нху Вы
источник
1
Вы видели stackoverflow.com/a/55602072/5233410
Nkosi
Это уже проблема: github.com/aspnet/AspNetCore/issues/13120
Хенк

Ответы:

36

Это проблема,

Сгенерировать код

Microsoft.AspNetCore.Hosting
@using Microsoft.AspNetCore.Mvc.ViewEngines
@inject IWebHostEnvironment Environment
@inject ICompositeViewEngine Engine

это отсутствует @using

должен быть

@using Microsoft.AspNetCore.Hosting

Я сообщил о проблеме на https://github.com/aspnet/Scaffolding/issues/1094

До Нху Вы
источник