我有一个托管在共享Web服务器上的ASP.NET Web应用程序。最近我使用Visual Server 2008对其进行了一些更改(仅更改代码,不更改ASPX),并将新的DLL上传到服务器上的bin文件夹。
当我重新加载任何页面时,我得到以下奇怪的症状:页面呈现,没有运行时错误,但似乎代码隐藏文件中的代码都没有执行(例如页面加载,控制事件)。所有静态内容都会出现,但通常由服务器代码呈现的内容都不会出现。我个人从未见过以这种方式表现出来的DLL加载问题 - 如果无法加载DLL,我希望看到关于无法加载页面继承的类的运行时错误。
我想知道以前是否有人见过这种效果?我将在下面列出,作为线索,我能想到的因素可能与我的情景有关:
当我上次使用这个应用程序时(已经有一段时间了)我认为是在使用VS Web Developer Express 2005.在进行此更改(升级到VS2008)的过程中,我从那个可怕的“网站”转换而来“模型到适当的Web应用程序项目。所有重建都很好并在我的机器上工作,但是......?
在我的本地计算机上进行开发时,我将解决方案平台从“任何CPU”更改为x86。那是因为我现在正在运行64位Windows,但需要使用Jet OLEDB提供程序,它显然不会以64位模式运行。 (我还必须让应用程序在32位应用程序池中运行)。所以我认为我的问题可能是因为DLL的CPU目标与托管服务器的Web进程不兼容。但是,在切换回“任何CPU”并重新构建之后,我仍然遇到同样的问题。也许我的构建配置仍然搞砸了? (这是我第一次不得不干预CPU目标)
也许我需要将解决方案更改为目标.Net Framework 2.0而不是3.5?再次,如果这是问题,我会发现运行时错误......?
我的应用不使用自定义错误页面 - 但我认为它在服务器上确实有CustomErrors =“On”。仍然 - 这不会阻止显示运行时错误页面,是吗?它只是不包含任何错误细节。
我目前很难过 - 任何想法都值得赞赏!
答案 0 :(得分:0)
如果您从WebSite更改为WebApplication,那么您至少应该将ASPX页面定义从CodeFile =“...”更改为CodeBehind =“...”,请查看ASPX文件并确保当前版本说CodeBehind =“...”并且你的Inherits Statement是正确的。
编辑:刚刚注意到我回复了一篇相当陈旧的文章,所以这可能不再有太多帮助了:)