c# – 调试vs发布优化.net(分发给用户时的担忧)

前端之家收集整理的这篇文章主要介绍了c# – 调试vs发布优化.net(分发给用户时的担忧)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
将Debug与Release版本分发给公众有任何安全或性能问题吗?

大多数情况下,我只是将Debug文件夹中的.exe文件(以及所需的依赖项)打包出来并将其提供给用户.

有什么理由选择比另一个更好的分配?

解决方法

没有安全问题,我可以想到.最肯定的是一个性能问题,您的程序集的Debug构建包含一个属性(DebuggableAttribute),它将始终阻止抖动优化器优化代码.这可能会对运行程序的性能产生很大的影响.抖动执行的优化记录在 this answer中.

你可能有内存消耗的问题.垃圾回收器将以不同的方式运行,保持局部变量活动直到方法体结束.这是一个角落案例,假设您使用现实的数据,测试应用程序时应该诊断出这样的问题.

特定于VB.NET,运送Debug构建可以非常容易地导致您的程序与OutOfMemoryException崩溃,当它运行在用户的机器上,而不附加调试器.它由于WeakReferences上的漏洞而失败,由“编辑继续”使用以跟踪具有WithEvents关键字的事件处理程序的类.

如果您不需要由抖动优化器生成的perf增强功能,并且不运送VB.NET程序集,那么就不用担心.

原文链接:https://www.f2er.com/csharp/96094.html

猜你在找的C#相关文章