C# System.NullReferenceException仅在发布版本中出现

C# System.NullReferenceException仅在发布版本中出现,c#,.net,build,release,nullreferenceexception,C#,.net,Build,Release,Nullreferenceexception,我在启动web应用程序的发布版本时遇到“System.NullReferenceException:对象引用未设置为对象的实例”错误。它告诉我进行调试构建以获取更多信息,但当我启动调试构建时,错误不再发生。如果没有调试构建中大多数错误的行号的帮助,很难(据我所知)找出这个模糊错误的原因 有人能给我指出正确的方向来缩小这个异常的原因吗 谢谢。作为问题的快速解决方法(如果您没有时间重写代码),请查看发布应用程序的计算机上的事件日志。您很有可能只是缺少一些DLL 作为一个长期的解决方案,我认为您可以从

我在启动web应用程序的发布版本时遇到“System.NullReferenceException:对象引用未设置为对象的实例”错误。它告诉我进行调试构建以获取更多信息,但当我启动调试构建时,错误不再发生。如果没有调试构建中大多数错误的行号的帮助,很难(据我所知)找出这个模糊错误的原因

有人能给我指出正确的方向来缩小这个异常的原因吗


谢谢。

作为问题的快速解决方法(如果您没有时间重写代码),请查看发布应用程序的计算机上的事件日志。您很有可能只是缺少一些DLL

作为一个长期的解决方案,我认为您可以从向应用程序添加一些日志功能开始(企业库、log4net等,甚至您自己的日志)。打印完整的堆栈跟踪是一个非常宝贵的帮助来源,特别是当您在发布版本中包含.pdb文件时。这将允许您执行的代码准确地告诉哪一行引发了异常

希望这有帮助,
Piotr

即使在发布模式下构建,也可以在堆栈跟踪中获取文件名和行号。参见和,例如


一般来说,我认为您应该避免在调试模式和发布模式中引入不同的程序行为(但可能您不是故意引入的吧?)

WinDbg+SOS,检查配置文件。版本文件中的连接字符串可能错误或为空=)