CS0234
错误,指出文件Index.g.cshtml.cd
中缺少一个命名空间,但是这个文件在哪里?我已经尝试过:
- 所有的构建/清理/重新构建解决方案选项。
- 我已经重启了Visual Studio
- 我已经删除了DEBUG文件并重新启动VS,最后
- 我已经重启了我的电脑。 唯一有效的解决方案似乎是删除整个解决方案/项目并重新开始。
CS0234
错误,指出文件Index.g.cshtml.cd
中缺少一个命名空间,但是这个文件在哪里?.cshtml
或 .vbhtml
)中有一条指令,编译器无法解析。在我的情况下,在一个部分视图中有以下语句:@inject UserManager<AppUser> UserManager
接着我对Web应用程序中的AppUser类 Namespace.Web.AppUser
进行了重构,并将其移动到了 Namespace.Entities.AppUser
,这导致了那个错误的发生。
有不同的方法可以解决这个问题。 最简单的方法是使用完全限定的类型命名空间:
@inject UserManager<Namespace.Entities.AppUser> UserManager
如果另一个项目在不同的项目中,请不要忘记添加对该项目的引用。 或:添加使用语句:
@using Namespace.Entities;
或者:将上面的using语句添加到您的~\Views\_ViewStart.cshtml
中。这将使该类在所有视图中可用。
我也遇到了与Visual Studio 2019 16.2.2相同的错误。在我的情况下,我更改了一些模型的名称。但是,错误没有显示在实际使用这些模型的视图中,而是出现在page.g.cshtml文件而不是page.cshtml文件中。
所以,我的解决方案非常简单。如果错误在page.g.cshtml文件中,请忽略g,转到视图page.cshtml文件中,将模型名称更新为正确的名称,重新构建即可消除错误。
右键单击您的项目并在资源管理器中打开文件夹。然后搜索 "Index.g.cshtml.cs" 文件,然后删除搜索结果。
确保您的 Index.cshtml 引用了正确的模型。
最近我遇到了相同的问题,
请尝试以下简单方法:
复制错误并将其粘贴到记事本中。您可以在那里查看错误文件的原始路径,例如:'YourProjectFolder'\obj\Debug\netcoreapp2.2\Razor\Views\'View Name'\index.g.cshtml.cs
找到该文件,如果错误仍然存在,请确保index.cshtml文件中引用了正确的命名空间,否则删除该文件并重新构建。
还要检查是否有任何被排除在项目之外的重复文件。如果存在,请也删除该文件。
现在清理并重新构建项目。(您可能需要清理、关闭VS、重新构建)
npm cache clean
或其他东西。 - B--rian将我的项目ASP.NET Core版本从2.2降级为2.1
对startup.cs进行更改:
实际上,这个问题没有一个确切的答案。 事实证明,文件是在DEBUG文件夹内创建的。 然而,在删除Debug文件夹后,我仍然收到错误信息。 所以这一定是VS的一个bug吧?
在_ViewImports中添加完整命名空间
@using Microsoft.AspNetCore.Http