使用调试模式而不是发布模式将应用程序部署到生产环境?我在一家商店工作,维护一个相当新的应用程序。该应用程序仍然有相当多的错误,每天都有大量的票。如果没有它,我们提供这些票证的错误消息可能很有用,因为应用程序是在发布模式下编译的,我读过它更小更快(有道理)。将.NET应用程序部署到以调试模式编译的生产环境有什么后果吗?我希望它会慢一点,但我已经看到差异是名义上的。这向我们保证,当我们在工单上出现错误时,我们会将这些错误与行号相关联,这当然会使调试更容易。任何会阻止您这样做的主要危险信号?我的任务是调查这种可能性。所以感谢您的任何反馈。在DEBUG而不是Release模式下部署应用程序会降低性能。当然可以做出妥协。我会建议以下之一:我的经验是,如果您正在考虑桌面(winforms/WPF)应用程序,这会很好地工作,但在任何情况下都不应该尝试使用asp.net应用程序。你标记了这个[vb.net],你不能发送调试版本或使用WithEvents的程序。如果没有附加调试器,WeakReference实例有一个已知的afaik未解决的内存泄漏。它们用于支持Edit+Continue。您可以做的第一件事是将.pdb文件与您的应用一起发送。在C#IDE中,使用Project+Properties、Build选项卡、Advanced,将DebugInfo更改为“Full”。您将在异常堆栈跟踪中获得行号信息。您不能完全相信行号,JIT优化器会四处移动代码以使其执行得更快。内联短函数,如属性获取器。您可以将您的app.ini文件添加到与禁用JIT优化器的可执行文件相同的目录中[.NETFrameworkDebuggingControl]GenerateTrackingInfo=1AllowOptimize=0这完全取决于您的生产环境、业务和性能要求。没有什么是严格的。部署调试版本对我来说是一个危险信号,尽管这并非闻所未闻。这是桌面应用程序还是服务器应用程序?任何对Debug.Assert的调用失败都可能是一个问题,因为它们可能会关闭您的应用程序和/或导致调试器附加(VS.NET不是唯一的调试器,如果我记得.netfx安装了一个轻量级调试器).虽然这可能对开发人员有帮助,但肯定会让普通人感到困惑。一个运作良好的选项不是调试构建,而是确保您的错误报告机制包括(显示或记录)任何抛出异常的堆栈跟踪。这有助于在不需要pdb的情况下很好地查明错误。如果这是一个桌面应用程序,您可以尝试与少数客户一起使用,但请注意其他答案中给出的建议。尝试更多powershell用户或有很多问题的人可能想要自愿参加。以上就是C#学习教程:Deploytheapplicationtoproductionusingdebugmodeinsteadofreleasemode?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
