将Debug与Release版本分发给公众有任何安全或性能问题吗?
大多数情况下,我只是将Debug文件夹中的.exe文件(以及所需的依赖项)打包出来并将其提供给用户.
有什么理由选择比另一个更好的分配?
解决方法
没有安全问题,我可以想到.最肯定的是一个性能问题,您的程序集的Debug构建包含一个属性(DebuggableAttribute),它将始终阻止抖动优化器优化代码.这可能会对运行程序的性能产生很大的影响.抖动执行的优化记录在
this answer中.
你可能有内存消耗的问题.垃圾回收器将以不同的方式运行,保持局部变量活动直到方法体结束.这是一个角落案例,假设您使用现实的数据,测试应用程序时应该诊断出这样的问题.
特定于VB.NET,运送Debug构建可以非常容易地导致您的程序与OutOfMemoryException崩溃,当它运行在用户的机器上,而不附加调试器.它由于WeakReferences上的漏洞而失败,由“编辑继续”使用以跟踪具有WithEvents关键字的事件处理程序的类.