我正在使用.NET Core 3.0.100; Microsoft Visual Studio Community 2019预览版本16.4.0预览版1.0; Blazor服务器(正式发行版)。
我正在尝试将身份验证和授权添加到我的Blazor服务器Web应用程序。我在这里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
中阅读指南(我也读过这个https://github.com/aspnet/Identity/issues/1825)
然后我右键单击Project,选择Add
\ New Scaffolded Item...
我阅读了文件ScaffoldingReadme.txt
,然后按照指南进行操作。
我按F5进行调试,发现错误
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
屏幕截图 [![在此处输入图片描述] [4]] [4]
由于文件\obj\Debug\netcoreapp3.0\Razor\Pages\Shared\_Layout.cshtml.g.cs
位于Razor类库Microsoft.AspNetCore.Identity.UI (3.0.0)
中,因此我无法对其进行编辑。
如何解决?
答案 0 :(得分:30)
这是一个问题,
生成的代码是
Microsoft.AspNetCore.Hosting
@using Microsoft.AspNetCore.Mvc.ViewEngines
@inject IWebHostEnvironment Environment
@inject ICompositeViewEngine Engine
缺少@using
应该是
@using Microsoft.AspNetCore.Hosting
答案 1 :(得分:0)
通过添加我们的 csproj 文件(3.1 核心应用程序)解决的问题:
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>