发布在发布模式下构建的DLL,但带有debug=true
本文关键字:debug true DLL 构建 布模式 模式 | 更新日期: 2023-09-27 17:50:11
如果您构建并发布一个ASP。. NET web 应用程序在发布模式下,执行以下web中的debug="true"
。配置行在开发环境有什么不同吗?
<compilation defaultLanguage="vb" debug="true" />
显然,您将始终在生产服务器上具有debug="false"
-这是没有问题的。
我的问题是,当我构建用于发布到生产系统的DLL时,是否应该设置debug="false"
。
目前我没有,因为它是一个PITA,必须记住在true
用于开发和false
用于发布之间进行更改。我希望答案是"没关系"。
(我正在使用Visual Studio 2010和。net 4.0 -解决方案包含VB。. NET和c#项目,由于遗留原因)。
请阅读以下关于运行debug="false"
的重要性的文章
摘录:
[keep the debug="true"]会导致一些不理想的事情发生,包括:
1) ASP。. NET页面需要更长的时间(因为一些批处理优化被禁用)
2)代码可以执行得更慢(因为一些额外的调试路径启用)
3)运行时应用程序使用了更多的内存
4)从web资源下载的脚本和图像。一个处理程序是没有缓存的
在freefaller的评论之后,我想补充的是,配置值在发布时并不重要,只有在运行时才重要。因此,您可以使用debug="true"在发布模式下编译程序集,并使用debug="false"部署它,而不会出现任何问题。该参数仅作用于运行时配置
程序集的编译模式与ASP的调试模式有很大的区别。网络应用程序。
发布模式的程序集允许编译器进行优化,使代码更快,并且通常消耗更少的资源。
相反,<compilation debug="true" />
使应用程序变慢并且消耗更多的内存,通常在上面的答案中报告的所有缺点
我认为VS不会接受web中编译标签的调试属性值。当程序员重新构建项目时配置。
当我用Configuratoin=release重新构建我的项目时,我将调试属性的值保留为"debug"。然后我下载实用程序。net汇编信息来检查我的构建的输出。我发现那些娃娃都是"释放"的!!