全局asax文件删除错误

时间:2010-09-08 16:22:35

标签: c# asp.net

我添加了一个global.asax文件,后来决定我不需要它,所以我将它从项目中排除,但是现在当我尝试运行我的项目时出现解析器错误。

以下是视图上显示的错误:

Line 1:  <%@ Application Codebehind="Global.asax.cs" Inherits="[assembly].WebApiApplication" Language="C#" %>

发生了什么以及如何解决它(除了明显将其添加回项目之外)?

3 个答案:

答案 0 :(得分:11)

在ASP.NET Web应用程序项目中,排除Global.asax只是将其从.csproj文件中删除。如果您在项目中启用“显示所有文件”选项,它将显示为“隐藏”文件。

无论如何,您的项目会忽略它并且不会编译它,这是预期的,但Web服务器会识别.asax文件并尝试加载<%@ Application @>指令中引用的类。该类不存在,因为它已从项目中省略。

要欺骗Visual Studio Web服务器,请考虑将扩展名.exclude附加到Global.asax。这样做会使您的文件保持(我假设您的意图),但确保Web服务器不会尝试将其视为全局应用程序类。

当然,如果你真的不想要它,只需删除.asax文件,如果适用,删除后面的代码。

答案 1 :(得分:2)

尝试在记事本中打开项目文件,其中可能有一些引用,例如

<Compile Include="Global.asax.cs">
      <DependentUpon>Global.asax</DependentUpon>
    </Compile>

答案 2 :(得分:0)

如果您排除了它,而不是删除它,您应该能够重新包含它。

右键单击项目,选择Add Existing Item并导航到global.asax,它应该仍然位于项目的根目录中。