C# index.g.cshtml在哪里

C# index.g.cshtml在哪里,c#,asp.net,visual-studio,asp.net-core,razor,C#,Asp.net,Visual Studio,Asp.net Core,Razor,我正在尝试完成本教程,()但是(通常)在构建解决方案时,我遇到一个CS0234错误,指出文件'Index.g.cshtml.cd'中缺少名称空间……但是该文件存在于何处? 我试过了 1.所有生成/清理/重建解决方案选项。 2.我已重新启动Visual Studio 3.我已经删除了调试文件并重新启动了VS,最后 4.我重新启动了我的电脑。 唯一可行的解决方案是删除整个解决方案/项目,然后重新开始 肯定有解决办法吗? 你能帮忙吗?你可以试试下面的解决方案 转到C:\Temp\msbuild 2.在

我正在尝试完成本教程,()但是(通常)在构建解决方案时,我遇到一个CS0234错误,指出文件'Index.g.cshtml.cd'中缺少名称空间……但是该文件存在于何处? 我试过了 1.所有生成/清理/重建解决方案选项。 2.我已重新启动Visual Studio 3.我已经删除了调试文件并重新启动了VS,最后 4.我重新启动了我的电脑。 唯一可行的解决方案是删除整个解决方案/项目,然后重新开始

肯定有解决办法吗?
你能帮忙吗?

你可以试试下面的解决方案

  • 转到C:\Temp\msbuild 2.在这里,您可以找到包含项目名称的文件夹,在这些文件夹中,您可以找到这些文件,如下图所示
  • 尝试删除这些文件并重建可能对您有帮助的解决方案

  • 这个问题实际上没有真正的答案。 事实证明,该文件是在调试文件夹中创建的。 但是,在删除调试文件夹之后,我仍然得到了错误。
    所以它一定是VS错误?

    右键单击您的项目并在资源管理器中打开文件夹。然后搜索“Index.g.cshtml.cs” 然后删除文件搜索结果


    确保Index.cshtml引用的模型正确

    尝试清理所有项目中的所有obj文件夹,然后重新生成。这是由编译器生成的代码的一部分,有时它与视图本身不同步,甚至应该清除所有内容的重建也不起作用。手动操作。希望这对
    xxx.g.cshtml.cs
    中缺少using指令或命名空间的错误有所帮助,这通常意味着视图中直接存在编译器无法解析的指令(
    .cshtml
    .vbhtml

    就我的情况而言,我有以下部分观点:

    @inject UserManager<AppUser> UserManager
    
    如果另一个项目中有其他项目,请不要忘记添加对该项目的引用。 或:添加using语句:

    @using Namespace.Entities;
    

    或者:将上面的using语句添加到您的
    ~\Views\\u ViewStart.cshtml
    。这将使该类在所有视图中都可用。

    最近我遇到了同样的问题

    尝试以下简单的方法

  • 复制错误并将其粘贴到记事本中。在那里,您可以看到错误文件的原始根本原因路径,例如
    'YourProjectFolder'\obj\Debug\netcoreapp2.2\Razor\Views\View Name'\index.g.cshtml.cs

  • 找到该文件,如果错误仍然存在,请在index.cshtml文件中引用正确的命名空间,否则请删除该文件并重新生成

  • 还要检查是否有任何重复的文件,这些文件已从项目中排除。如果存在,也删除该文件

  • 现在清理并重建项目。(您可能需要清理、关闭VS、重建)


  • 我在Visual Studio 2019 16.2.2中出现了相同的错误。对我来说,我更改了一些模型的名称,而不是在使用模型的实际视图中发现错误,错误显示在page.g.cshtml而不是page.cshtml中


    因此,我的解决方案相当简单。如果错误出现在page.g.cshtml中,请忽略g,转到view page.cshtml,将模型名称更新为正确的名称,重新生成并消除错误。

    这是Microsoft.AspNetCore.Razor.Design软件包问题

    我在我的VS2017中尝试了2.2版本,它不支持这一点,并且在obj目录中给出了“.g.cshtml not found”

    我解决了以下问题:

    • 我将项目2.2的ASP.NET核心版本降级为2.1

    • 在startup.cs中所做的更改:

    • CompatibilityVersion.Version_2_2到CompatibilityVersion.Version_2_1
    • 将Nuget包的所有dll更改为2_1支持dll
    • SDK确保其2.1.x

    问题已解决。

    如果您的解决方案由于这些.g.cs文件而一直失败,可能是因为您忘记更新实际cshtml文件中可能已移动的类的命名空间(例如,通过注入所述命名空间)

    这就是我解决问题的原因:

    谢谢……但我在C:\上找不到临时文件夹。我有应该隐藏的“未隐藏”文件夹。C:\Windows中有一个临时文件夹,但它不包含您在此处显示的任何文件。很抱歉,答复太晚,我正忙于工作。你可以试试下面的1。在我们的系统中搜索%temp%,或直接在系统2上搜索“Index.g.cshtml.cd”。或双击在Visual Studio中打开文件的错误,右键单击并单击打开文件位置它也可能是强类型视图:@model Namespace。Entity@ZackPeterson是的,绝对是。关键在于,您的视图中直接出现了编译时错误,并且没有可以检查的.g.cshtml文件。您好,我做了所有这些(底部添加了namespace.entities),但只有在使用build+IntelliSense时,我仍然会出现此错误。当我切换它只是为了单独构建或IntelliSense时,它不会显示。我知道这是一个古老的答案,但我希望你看到这一点。它只给出了obj文件夹中调试文件的错误,而不是常规视图files@ZackPeterson,这解决了我的问题。我更改了项目的模型名称,从Blazor页面切换到MVC风格的项目。我想使用原始名称空间。“视图”文件夹中有一个@Model指令,该指令仍在使用旧名称空间并进行重命名,这足以解决此问题。欢迎使用SO!请编辑你的问题并详细说明(1)你的食谱为什么有效,(2)你最后一点的确切意思。我猜它涉及到一个
    npm缓存清理
    或something@B--我的最后一点不是指向npm缓存清理,我指的是项目清理和重建选项。此外,正如我在下面回答的,这个ca
    
    @using Namespace.Entities;