I am using .NET Core 3.0.100 ; Microsoft Visual Studio Community 2019 Preview Version 16.4.0 Preview 1.0 ; Blazor-server (official release).
I am trying to add Authentication and Authorization to my Blazor-server web app. I am reading the guideline at here https://learn.microsoft.com/en-us/aspnet/core/security/authentication/scaffold-identity?view=aspnetcore-3.0&tabs=visual-studio#scaffold-identity-into-an-empty-project
(I also read this https://github.com/aspnet/Identity/issues/1825)
Then I right-click on Project, choose Add
\ New Scaffolded Item...
I read the file ScaffoldingReadme.txt
, then follow the guide.
I press F5 for debugging, I catch the 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
Screenshot
Because file \obj\Debug\netcoreapp3.0\Razor\Pages\Shared\_Layout.cshtml.g.cs
stand inside Razor Class Library Microsoft.AspNetCore.Identity.UI (3.0.0)
, I cannot edit it.
How to fix it?
IWebHostEnvironment is included in the Microsoft. AspNetCore. Hosting package, you simply need to add it as a reference to your project by right clicking on your project file and selecting 'Manage Nuget Packages' then searching for Microsoft.
The IHostingEnvironment is an interface for . Net Core 2.0. The IHostingEnvironment interface need to be injected as dependency in the Controller and then later used throughout the Controller. The IHostingEnvironment interface have two properties.
This is an issue,
The code generate is
Microsoft.AspNetCore.Hosting
@using Microsoft.AspNetCore.Mvc.ViewEngines
@inject IWebHostEnvironment Environment
@inject ICompositeViewEngine Engine
it is missing @using
it should be
@using Microsoft.AspNetCore.Hosting
I reported issue at https://github.com/aspnet/Scaffolding/issues/1094
Issue solved by adding in our csproj file (3.1 core app):
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With