我添加了一个global.asax文件,后来决定我不需要它,所以我将它从项目中排除,但是现在当我尝试运行我的项目时出现解析器错误。
以下是视图上显示的错误:
Line 1: <%@ Application Codebehind="Global.asax.cs" Inherits="[assembly].WebApiApplication" Language="C#" %>
发生了什么以及如何解决它(除了明显将其添加回项目之外)?
答案 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,它应该仍然位于项目的根目录中。