将MVC 1应用程序部署到远程服务器时出现Global.asax解析器错误

时间:2010-05-06 15:26:18

标签: c# asp.net-mvc nhibernate iis-7 global-asax

因此,我们在将ASP.NET MVC应用程序部署到客户端站点时遇到了一些问题。基本上当我们尝试从localhost测试应用程序时,我们得到了可怕的Global.asax解析器错误,表明它无法加载应用程序全局。

研究表明,我们看到的此异常基本上有四种可能的原因:

  1. 尚未构建解决方案。这显然不是这种情况,因为我们可以在这里部署它,并且它可以在我们部署到的任何机器上正常运行。我们不得不构建并发布了无论如何都要部署它。

  2. Global.asax名称空间继承与应用程序全局代码文件不匹配。我们再次检查了这一点,因为它在这里运行得很好,这不是问题。

  3. 杂项非描述性IIS / VS.NET恶作剧。基本上在IIS或VS.NET中出现问题并且Web服务器对此应用程序的行为不正确。我们已经完成了清理和重建,我们删除了虚拟目录并重新创建,并执行了我们在网上其他地方找到的所有IIS。 IIS弹跳,服务器重启,虚拟目录/应用程序娱乐等的各种组合

  4. 代码级权限问题。我们已经在框架目录中验证了对机器/ web配置的完全信任,我们已经在IIS中将.NET信任设置为完全,我们已经授予Everyone对目录的完全控制权,只是为了使用安全锤等来打击它等。

  5. 相关的detials: Windows Server 2008 x64 IIS 7,32位兼容的应用程序池(应用程序是在为任何cpu编译的32位操作系统上编写的) 应用程序池标识设置为NetworkService Microsoft ASP.NET MVC 1.0 XCopy部署

    我们部署了另一个只读应用程序就好了。这个应用程序的显着差异是使用需要完全信任的NHibernate和Log4Net。 此外,Web项目的实际项目名称与默认名称空间不同,但Global.asax中的Inherits名称空间和Global.asax.cs文件匹配,因此这不应该是一个问题。

    有人有什么好主意吗?我们正式谈到了朦胧的人。

    EDIT 例外是Could not load type <MyDefaultNamespace>.<Global.asax.cs class name>

    没有代码段,因为该应用根本不会加载。安装后,第一次请求没有时间延迟,立即失败。

    所有这些人over here遇到问题

    都是一样的

2 个答案:

答案 0 :(得分:3)

如果您更改了解决方案平台,请尝试将其更改回任何CPU

我将我的设置为x86(我创建的一个允许在x64计算机上调试期间更改代码)。当我将其更改回任何CPU时,您描述的问题就消失了。

答案 1 :(得分:0)

例外是“无法加载类型<MyDefaultNamespace>.<Global.asax.cs class name>

没有代码段,因为该应用根本不会加载。安装后,第一次请求没有时间延迟,立即失败。

所有这些人over here遇到问题

都是一样的