Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 页面加载不仅在服务器上部署,即使使用;“无指示”;在页面上加载_C#_Asp.net_Nullreferenceexception - Fatal编程技术网

C# 页面加载不仅在服务器上部署,即使使用;“无指示”;在页面上加载

C# 页面加载不仅在服务器上部署,即使使用;“无指示”;在页面上加载,c#,asp.net,nullreferenceexception,C#,Asp.net,Nullreferenceexception,请先阅读此 请避免将我的问题标记为可能重复的“什么是NullReferenceException以及如何修复它”;我以前在一些老问题上读过这些。NullReferenceException不是这里的主要主题,我知道它们来自哪里。主要的主题是为什么我只在服务器上而不是在本地得到这个异常。澄清后,请阅读以下内容:) 我有一个表单,只要点击一下按钮就会弹出。对它有一些共同的控制;因此,当我在本地环境(VisualStudio的asp服务器)中运行它时,它显示的很好,甚至在加载页面上,我也有许多指令使用

请先阅读此 请避免将我的问题标记为可能重复的“什么是NullReferenceException以及如何修复它”;我以前在一些老问题上读过这些。NullReferenceException不是这里的主要主题,我知道它们来自哪里。主要的主题是为什么我只在服务器上而不是在本地得到这个异常。澄清后,请阅读以下内容:)

我有一个表单,只要点击一下按钮就会弹出。对它有一些共同的控制;因此,当我在本地环境(VisualStudio的asp服务器)中运行它时,它显示的很好,甚至在加载页面上,我也有许多指令使用DB(编辑表单)中的数据加载表单的字段

但是,当我通过IIS(从web浏览器)在远程服务器上运行它而不是显示表单时,我会得到一个
NullReferenceException

因此,我开始对页面加载中的指令进行注释,这样我就可以放弃各种可能性,直到我对整个页面加载方法进行注释为止,说真的,这里不应该执行任何指令,但我仍然会遇到NullReferenceException错误,堆栈跟踪如下所示:

堆栈跟踪:

[NullReferenceException:对象引用未设置为 对象。]SisProEmp.editar\u necesidad.Page\u加载(对象发送器, EventArgs e)+1645 System.Web.UI.Control.LoadRecursive()+70
System.Web.UI.Page.ProcessRequestMain(布尔值 IncludeStages前同步点,布尔值IncludeStages后同步点) +3177

“editar_necesidad”是表单(html页面)的名称

请注意,此仅在通过web浏览器进行测试时发生,而不是在本地环境中进行测试时发生。起初我认为它可能是服务器的DateTime格式,但我放弃了它,因为正如我所提到的,页面加载现在没有执行任何操作,我甚至看不到呈现的空控件

  • 使用从web应用程序文件夹打开web服务器上的dll。您可能会惊讶地发现,您认为存在的代码与实际存在的代码不同。调试中有一个原则叫做“停止思考,看一看”

  • 删除web服务器的缓存
    C:\WINDOWS\Microsoft.NET\Framework\\ASP.NET临时文件
    。也要查找64位

  • 使用从web应用程序文件夹打开web服务器上的dll。您可能会惊讶地发现,您认为存在的代码与实际存在的代码不同。调试中有一个原则叫做“停止思考,看一看”

  • 删除web服务器的缓存
    C:\WINDOWS\Microsoft.NET\Framework\\ASP.NET临时文件
    。也要查找64位


  • 可能重复Nope,我知道什么是NullReferenceException,并且我知道一些修复它们的方法。问题是,在这种特殊情况下,只有在通过服务器进行测试时才会引发异常。这不是我第一次看到这样的问题被标记为您链接的问题的“副本”,但这不是一件好事,即使您提出的问题及其提供的答案非常完整和结构化,它们并不涵盖所有情况。所以在我的例子中,我并不是想问“如何修复NullReferenceException”,也不是问什么是NRE。我只需要帮助找到这个NRE的原因。删除整个页面的加载方法,然后再次运行。如果它仍然在异常堆栈上,则部署旧代码。这就是我的想法。还可以部署PDB,以便获得文件和行号。无论如何都要部署PDB。页面加载旁边的+1645是本机代码的偏移量。很长的方法,如果你问我,肯定不是空的。可能是Nope的重复,我知道什么是NullReferenceException,我知道一些修复它们的方法。问题是,在这种特殊情况下,只有在通过服务器进行测试时才会引发异常。这不是我第一次看到这样的问题被标记为您链接的问题的“副本”,但这不是一件好事,即使您提出的问题及其提供的答案非常完整和结构化,它们并不涵盖所有情况。所以在我的例子中,我并不是想问“如何修复NullReferenceException”,也不是问什么是NRE。我只需要帮助找到这个NRE的原因。删除整个页面的加载方法,然后再次运行。如果它仍然在异常堆栈上,则部署旧代码。这就是我的想法。还可以部署PDB,以便获得文件和行号。无论如何都要部署PDB。页面加载旁边的+1645是本机代码的偏移量。如果你问我,相当长的方法,绝对不是空的。我已经试过第二种了。停止应用程序池,删除临时文件并再次运行,但仍会发生。好的,请进行反编译以确保您拥有的内容和/或放置响应。在页面加载中写入(“hello”)作为实验,以确保编辑器中的内容是活动的。和/或从一个空白页开始,一点一点地添加内容,以防在加载过程中它在某个从属控件的加载中。我通常做的是在C:上搜索DLL名称,可能使用非常可靠的Everything搜索工具。该DLL必须存在于某个地方。在任何地方杀死它,运行应用程序以确认它无法启动。我已经尝试了第二个。停止应用程序池,删除临时文件并再次运行,但仍会发生。好的,请进行反编译以确保您拥有的内容和/或放置响应。在页面加载中写入(“hello”)作为实验,以确保编辑器中的内容是活动的。和/或从一个空白页开始,一点一点地添加内容,以防在加载过程中它位于某个从属控件的加载中。我通常做的是在C:上搜索DLL名称,可能使用非常可靠的Everyt