No se pudo encontrar el tipo o nombre de espacio de nombres 'IWebHostEnvironment' (¿falta una directiva de uso o una referencia de ensamblado?)

11

Estoy usando .NET Core 3.0.100; Microsoft Visual Studio Community 2019 Vista previa Versión 16.4.0 Vista previa 1.0; Blazor-server (lanzamiento oficial).

Estoy tratando de agregar autenticación y autorización a mi aplicación web de servidor Blazor. Estoy leyendo la guía aquí https://docs.microsoft.com/en-us/aspnet/core/security/authentication/scaffold-identity?view=aspnetcore-3.0&tabs=visual-studio#scaffold-identity-into-an -proyecto vacío

(También leí esto https://github.com/aspnet/Identity/issues/1825 )

Luego hago clic derecho en Proyecto, elijo Add\New Scaffolded Item...

Leo el archivo ScaffoldingReadme.txt, luego sigo la guía.

Presiono F5 para depurar, capto el error

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

Captura de pantalla [! [Ingrese la descripción de la imagen aquí] [4]] [4]

Debido a que el archivo se \obj\Debug\netcoreapp3.0\Razor\Pages\Shared\_Layout.cshtml.g.csencuentra dentro de Razor Class Library, Microsoft.AspNetCore.Identity.UI (3.0.0)por lo tanto, no puedo editarlo.

¿Como arreglarlo?

Do Nhu Vy
fuente
1
¿Has visto stackoverflow.com/a/55602072/5233410
Nkosi el
Ya es un problema: github.com/aspnet/AspNetCore/issues/13120
Henk Holterman

Respuestas:

36

Este es un problema

El código generado es

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

esta perdido @using

debería ser

@using Microsoft.AspNetCore.Hosting

Informé un problema en https://github.com/aspnet/Scaffolding/issues/1094

Do Nhu Vy
fuente