Nie można znaleźć typu lub nazwy przestrzeni nazw „IWebHostEnvironment” (brakuje dyrektywy używającej lub odwołania do zestawu?)


11

Używam .NET Core 3.0.100; Microsoft Visual Studio Community 2019 Preview Wersja 16.4.0 Preview 1.0; Blazor-server (oficjalna wersja).

Próbuję dodać uwierzytelnianie i autoryzację do mojej aplikacji internetowej Blazor-server. Czytam wytyczne tutaj https://docs.microsoft.com/en-us/aspnet/core/security/authentication/scaffold-identity?view=aspnetcore-3.0&tabs=visual-studio#scaffold-identity-into-an -pusty-projekt

(Przeczytałem również ten https://github.com/aspnet/Identity/issues/1825 )

Następnie kliknij prawym przyciskiem myszy Projekt, wybierz Add\New Scaffolded Item...

Czytam plik ScaffoldingReadme.txt, a następnie postępuję zgodnie z instrukcjami.

Naciskam F5 w celu debugowania, łapię błąd

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

Zrzut ekranu [! [Wprowadź opis obrazu tutaj] [4]] [4]

Ponieważ plik \obj\Debug\netcoreapp3.0\Razor\Pages\Shared\_Layout.cshtml.g.csstoi w bibliotece klas Razor, Microsoft.AspNetCore.Identity.UI (3.0.0)dlatego nie mogę go edytować.

Jak to naprawić?



Odpowiedzi:


36

To jest problem

Generowany kod to

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

brakuje @using

powinno być

@using Microsoft.AspNetCore.Hosting

Zgłosiłem problem na https://github.com/aspnet/Scaffolding/issues/1094

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.