当前位置:  开发笔记 > 编程语言 > 正文

发布模式下的应用程序失败

如何解决《发布模式下的应用程序失败》经验,为你挑选了1个好方法。

我的ASP.NET应用程序有问题.它已经开发了大约一年左右而没有禁用调试模式.我想测试它是否在没有调试的情况下工作,但它不是,但是,当我设置debug ="true"时,它工作正常.

当我第一次尝试打开应用程序时,它会给我"服务器不可用"错误.在事件日志中,我有两个错误:

    .NET Runtime 2.0错误 - 错误应用程序aspnet_wp.exe,版本2.0.50727.3082,邮票492b8702,错误模块kernel32.dll,版本5.1.2600.3119,邮票46239c44,调试?0,故障地址0x00012a5b.

    ASP.NET 2.0.50727.0 - 意外的进程结束aspnet_wp.exe(PID:4932)(它可能写得有点不同,它的翻译).

我的IIS版本是在Windows XP上运行的5.1.

我会很感激任何建议.

更新:调试模式的更改在web.config中进行



1> Milan Gardia..:

您正在描述的崩溃发生在kernel32.dll中 - 这可能表明这不是托管代码中的崩溃,而是.NET引擎本身(呃) - 在这种情况下,验证预编译器路径等会没有产生任何积极的结果(恕我直言).

我建议你尝试通过"二进制搜索"(罪魁祸首)解决这个问题:-).作为第一个"迭代",我将创建一个简单的aspx页面(/Test.aspx),保持调试模式禁用并尝试点击页面(没有代码隐藏,只有标题和Hello,世界正文的基本HTML).这将验证ASP.NET是否已在IIS服务器上安装并正常运行.

如果这个最简单的页面再次失败,我建议@JSC在评论中提到:在IIS上重新注册ASP.NET:

rem (reregister ASP.NET in IIS)
rem (run as administrator!)
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

一旦最简单的页面运行,我会添加简单的代码隐藏,尝试.一旦代码隐藏运行,我会尝试通过剥离所有代码隐藏更新应用程序的真实起始页面,只留下标记并尝试点击页面 - 是的,它看起来很可怕但至少它可能会显示:-) .之后,我会尝试只添加初始化逻辑,看看它是怎么回事......

从本质上讲,您需要找到应用程序中导致崩溃的"事物".我认为两个极端是:标记+没有代码隐藏=工作,标记+所有代码隐藏=崩溃; 二进制搜索"方法"将启用一半代码,看它是否仍然显示(我们现在不担心功能 - 它当然不会按预期运行).如果没有显示,请禁用上半部分的后半部分(即只有四分之一的代码处于活动状态),试试看.继续前进,直到您将搜索范围限制在有问题的区域......

我建议的另一种方法是在虚拟机上安装Server 2003(IIS6)/ Server 2008(IIS7) - VirtualPC,VMWare,VirtualBox(如果您无法访问服务器映像的MSDN下载,您可以随时下载试用版 - Server 2008试用期为60天,加上两次"重置".在虚拟机中安装干净的操作系统后,尝试部署应用程序并查看其在该环境中的行为方式.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有