O nome do tipo ou namespace 'IWebHostEnvironment' não foi encontrado (está faltando uma diretiva de uso ou uma referência de montagem?)


11

Estou usando o .NET Core 3.0.100; Comunidade Microsoft Visual Studio 2019 Preview Versão 16.4.0 Preview 1.0; Blazor-server (lançamento oficial).

Estou tentando adicionar autenticação e autorização ao meu aplicativo da web do servidor Blazor. Estou lendo as diretrizes aqui https://docs.microsoft.com/en-us/aspnet/core/security/authentication/scaffold-identity?view=aspnetcore-3.0&tabs=visual-studio#scaffold-identity-into-an -empty-project

(Eu também li este https://github.com/aspnet/Identity/issues/1825 )

Depois, clique com o botão direito do mouse em Projeto, escolha Add\New Scaffolded Item...

Eu li o arquivo ScaffoldingReadme.txte segui o guia.

Eu pressiono F5 para depuração, eu pego erro

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 tela [! [Insira a descrição da imagem aqui] [4]] [4]

Como o arquivo \obj\Debug\netcoreapp3.0\Razor\Pages\Shared\_Layout.cshtml.g.csfica dentro da Razor Class Library, Microsoft.AspNetCore.Identity.UI (3.0.0)portanto, não posso editá-lo.

Como corrigi-lo?



Respostas:


36

Isso é um problema,

O código gerado é

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

está faltando @using

deveria ser

@using Microsoft.AspNetCore.Hosting

Relatei um problema em https://github.com/aspnet/Scaffolding/issues/1094

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.