请先阅读 请避免将我的问题标记为“什么是NullReferenceException以及如何修复它”的可能副本;我之前在一些较老的问题上已经阅读了所有这些内容。 NullReferenceException不是这里的主要话题,我知道它们来自哪里。主要的主题是为什么我只在服务器而不是本地获取此异常。澄清了这一点后,请阅读以下内容:)
我有一个弹出按钮单击的表单。对它有一些共同的控制;因此,当我通过我的本地环境(visual studio的asp服务器)运行它时,它显示正常,甚至在Page_Load上我有很多指令,用DB中的数据加载表单的字段(它是一个编辑表单)。
但是,当我通过IIS(从Web浏览器)在远程服务器上运行它时,而不是显示表单,我得到NullReferenceException
。
所以我开始评论来自我的Page_Load的指令,所以我可以放弃可能性,直到我到达整个Page_Load方法的评论,严重的100%,没有指令应该在这里执行,但我仍然得到NullReferenceException错误,堆栈跟踪如下所示:
堆栈追踪:
[NullReferenceException:对象引用未设置为的实例 对象。] SisProEmp.editar_necesidad.Page_Load(对象发送者, EventArgs e)+1645 System.Web.UI.Control.LoadRecursive()+70
System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) 3177
“editar_necesidad”是表单的名称(html页面)。
请注意,此仅在通过网络浏览器进行测试时发生,而不是在本地环境中进行。起初我以为它可能是服务器的DateTime格式,但是我已经放弃了,因为正如我所提到的,Page_Load现在什么都不执行,我甚至都看不到渲染的空控件。 / p>
答案 0 :(得分:0)
使用Telerik JustDecompile从Web应用程序文件夹中在Web服务器上打开您的dll。您可能会惊讶地发现您认为存在的代码与实际存在的代码不同。调试中有一个原则叫做“停止思考和看”。
删除网络服务器C:\WINDOWS\Microsoft.NET\Framework\<version>\Temporary ASP.NET Files
的缓存。也要寻找64位。