Impossibile trovare il nome del tipo o dello spazio dei nomi 'IWebHostEnvironment' (ti manca una direttiva che utilizza o un riferimento di assembly?)


11

Sto usando .NET Core 3.0.100; Anteprima di Visual Studio Community 2019 versione 16.4.0 Anteprima 1.0; Blazor-server (versione ufficiale).

Sto cercando di aggiungere l'autenticazione e l'autorizzazione alla mia app Web Blazor-server. Sto leggendo le linee guida qui 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

(Ho anche letto questo https://github.com/aspnet/Identity/issues/1825 )

Quindi faccio clic con il tasto destro del mouse su Progetto, scelgo Add\New Scaffolded Item...

Ho letto il file ScaffoldingReadme.txt, quindi seguo la guida.

Premo F5 per il debug, prendo errore

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

Schermata [! [Inserire la descrizione dell'immagine qui] [4]] [4]

Poiché il file si \obj\Debug\netcoreapp3.0\Razor\Pages\Shared\_Layout.cshtml.g.cstrova all'interno della Razor Class Library, Microsoft.AspNetCore.Identity.UI (3.0.0)non posso modificarlo.

Come sistemarlo?



Risposte:


36

Questo è un problema,

Il codice generato è

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

manca @using

dovrebbe essere

@using Microsoft.AspNetCore.Hosting

Ho segnalato un problema su https://github.com/aspnet/Scaffolding/issues/1094

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.