我知道此问题之前已经提出过,但可用的解决方案并未解决我的问题。
我的解决方案中有一个我没写过的global.asax文件。 cs文件中的命名空间和类与继承命名空间和类匹配。
导致问题的原因很简单:我从解决方案中排除了一个目录,然后重新包含它。从那时起,当我尝试构建我的解决方案时,会出现以下错误:
Server Error in '/' Application.
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'EnableWebApp.Global'.
Source Error:
Line 1: <%@ Application Codebehind="Global.asax.cs" Inherits="EnableWebApp.Global" Language="C#" %>
Source File: /global.asax Line: 1
我已经清理,重建,重新安装这些文件,重新启动框架,然后重新启动我的系统。什么都没有解决它。
的Global.asax “&lt;%@ Application Codebehind =”Global.asax.cs“Inherits =”EnableWebApp.Global“Language =”C#“%&gt;”
的Global.asax.cs 命名空间EnableWebApp { public class Global:System.Web.HttpApplication {
答案 0 :(得分:1)
如果有人遇到此问题,则有两个简单的修复方法:
Inherits
部分与您的项目的命名空间完全匹配,以及Global
类型。右键单击项目属性以检查命名空间。因此,如果您的应用程序的名称空间为MyProject.Web
,那么您应该在此Inherits="MyProject.Web.Global"
。答案 1 :(得分:0)
右键单击Web项目,转到“属性”,然后检查程序集名称和根命名空间是否为“EnableWebApp”
答案 2 :(得分:0)
global.asax实际上附加了2个文件,一个标记和一个代码隐藏
如果您右键单击该文件,您可以选择查看标记,我猜是该行中某处有一个名称空间或名称不匹配。
如果没有,你可以发布你的global.asax.cs&amp;标记(应该只有1个文件)?
编辑:
我没有立即解释为什么你得到这个结果
您是否可以使用dll反射器程序扫描您的网站的dll以获取全局类型及其命名空间,以验证它是否正确构建到dll中?
您可以使用此程序:download link for ILSpy
答案 3 :(得分:0)
我花了最近2天的时间与这个错误作斗争。这是我的场景以及我是如何解决它的。 (我在VB中编码..不像大多数人和gals那样先进。)
1)我将网络代码文件夹添加到我的项目中。
2)我创建了一个动态数据实体,它创建了包含公共类CEPTEntities的model1.vb文件
3)我根据找到的指令设置了Global.asax文件路由。 DefaultModel.RegisterContext(GetType(CEPSEntities),New ContextConfiguration()with _ {。ScaffoldAllTables = True})
3a)CEPSEntitities是我的数据实体模型的名称。然后我在我的web.config文件中验证了连接字符串是否正确
4)然后我打开了modle1.vb文件的属性,并将构建操作从Content(也是默认的)更改为编译。
5)然后a做了一个干净的重建,我的应用程序最终在IE中打开..
希望这可以为其他人带来很多麻烦。
答案 4 :(得分:0)
如果您使用的是“本地 IIS”并且您的编译路径不是“bin/debug”...
我碰巧 IIS 更改了正在调试的应用程序的物理路径。 这发生在关闭/重新打开 VS 并使用 GIT 更改分支时。 因此,请仔细检查您的 IIS 应用程序配置是否保持正确并修复它。 最后,我解决这个烦人问题的方法是在我的解决方案中添加一个简单的 consol 项目,该项目作为构建后事件进行编译和启动,以在 IIS 中自动设置正确的路径:
static int Main(string[] args)
{
int result = 0;
try
{
ServerManager serverManager = new ServerManager();
var myApp = serverManager.Sites["Default Web Site"].Applications["/myApp"].VirtualDirectories[0];
myApp.PhysicalPath = args[0];
serverManager.CommitChanges();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
result = -1;
}
return result;
}