作者:未知 请作者速与本人联系
前几天看到豆腐的文章介绍如何知道程序集是Debug版还是Release版,之前只知道某些软件从功能上有企业版、标准版之分,却从不知道.Net程序集还有Debug和Release之区别,真是惭愧学了这一年C#。然后在博客园的提问区发文求教,两天过去竟无人问津(还是自己太懒,要检讨),只好自己翻MSDN、用Google搜,现在总算有点明白了。
关于Debug和Release,MSDN里面是这么说的:
Visual Studio 项目对程序的发布和调试版本分别有单独的配置。顾名思义,生成调试版本的目的是用于调试,而生成发布版本的目的是用于版本的最终分发。
如果在 Visual Studio 中创建程序,Visual Studio 将自动创建这些配置并设置适当的默认选项和其他设置。在默认设置下:
程序的“调试”配置用全部符号调试信息编译,不进行优化。(优化会使调试复杂化,因为源代码和生成的指令间的关系更加复杂。)
程序的“发布”配置被完全优化,不包含任何符号调试信息。调试信息可在单独的 PDB 文件中生成。
当在程序集的属性页中选Debug模式时,设置如下:

当选择Release模式时,设置如下:

两者的不同点如下:
项目 |
Debug |
Release |
条件编译常数 |
Debug;Trace |
Trace |
优化代码 |
False |
True |
输出路径 |
bin\Debug |
bin\Release |
生成调试信息 |
True |
False |
Debug模式下生成的程序集为调试版本,未经优化;在bin\debug\目录中有两个文件,除了要生成的.exe或.dll文件外,还有个.pdb文件,这个.pdb文件中就记录了代码中的断点等调试信息;Release模式下不包含调试信息,并对代码进行了优化,\bin\release\目录下只有一个.exe或.dll文件。
注意若要更改项目的生成模式,不能只从项目属性页上点“配置”下拉框更改,那样不起作用,必须点右上角的“配置管理器”按钮才能更改。
现在我还有个疑问:在项目文件夹下除了bin外,还有个obj目录,里面也有debug和release两个子目录,这不知是做什么用的。
分享到:
相关推荐
.NET中程序集的概念以及其在Windows平台上的表现形式。 2. 系统架构和进程管理:文档提到了Windows平台下的进程管理,包括Windows EXE、Windows Service以及Windows Unix的daemon processes。 3. .NET的oscpu()...
2. **.NET Framework中的程序集(Assemblies)**:解释了.NET Framework中程序集的概念、作用及管理方法。 3. **CLR类型系统**:深入探讨了CLR中的类型系统,包括类型的表示方式、类型兼容性等关键概念。 4. **与类型...
支持所有.Net版本的GAC,包括.Net 4.0和.Net 4.6。 命令: 获取GAC中的程序集(别名gga) 获取GAC中程序集的FileInfo 获取GAC中程序集的InstallReference 将程序集添加到GAC 从GAC移除程序集 创建一个新的安装...
2. 系统更新:关注中程科技的官方更新,及时安装新版本以获取最新功能和安全修复。 3. 技术支持:遇到问题时,可通过chisc.net联系技术支持,获取专业解答和远程协助。 总结,中程科技医院消毒供应中心管理系统...
中程在线提供的这门【Android应用开发培训课件】由韩超老师主讲,虽然评论提及讲解可能不够理想,但课件本身包含了丰富的学习资料。 首先,课件中的【01_Android系统基础.pdf】讲述了Android系统的架构和运行机制,...
《青岛中程:2021年半年度报告》通过详尽的数据与分析,全面展现了公司在2021年上半年的整体经营状况,以及其战略规划和市场布局,为外界了解该公司的业务发展和财务健康提供了宝贵的视角。 首先,报告开篇即以公司...
《需求分析师培训资料4》是徐锋先生在中程在线提供的高级咨询课程,旨在培养专业的需求分析师。作为CSAI软件工程的首席顾问,徐锋在软件开发领域具有深厚的理论基础和实践经验,他的教学资料通常涵盖了需求分析的...
我撰写的android中程招聘要求,可以满足部分企业对android中程的招聘
综上所述,北京中程在线培训机构的这套嵌入式培训课件覆盖了嵌入式开发的多个重要方面,包括基础编程、网络通信、驱动开发、操作系统和处理器架构等,为想成为嵌入式软件工程师的学习者提供了全面而深入的学习路径。...
公司简介和主要财务指标的第二节让我们对青岛中程的业务范围、市场地位、主要产品或服务有了基本了解,同时,关键财务数据的披露——包括营业收入、净利润、总资产和净资产等,使投资者可以直观地感受到公司的经营...
《需求分析师培训资料1》是针对软件开发领域中需求分析这一关键环节的深度学习资源,由中程在线的资深高级咨询顾问徐锋主讲。徐锋先生同时也是CSAI软件工程的首席顾问,他的专业背景和实践经验使得这门课程具有极高...
1. **新冠疫情的影响**:由于全球范围内的新冠疫情,青岛中程的海外业务在人力资源调配和物流配送方面遭遇困难,导致既定的经营计划无法按预期执行。这直接影响了公司的业务拓展和项目实施,进而影响了整体业绩。 2...
验证分析于2012年10月下旬应用于T639,ECMWF,Japan模型,NCEP集合预报和NMC多模型集成的中程预报产品。结果表明,ECMWF模型在高度场方面具有明显优势。和降水预报; 西风指数,地转U风和850 hPa温度预报产品可以...
【推行管理革新中程计划表】是一个文档,用于规划和执行组织内部的管理创新过程,旨在提高效率、优化流程和提升整体绩效。管理革新通常包括引入新的管理理念、改进决策流程、实施技术升级、调整组织结构以及提升员工...
"推行管理革新中程计划表"可能是一个详细的文档,旨在规划和指导企业如何有效地进行管理变革,以提高效率、降低成本并增强竞争力。这个DOC文件很可能是由项目团队或管理层制定的,用于概述整个改革过程的时间线、...
【青岛中程2021年半年度报告】详尽展示了公司在该年度上半年的运营状况、财务表现以及潜在风险。报告由多个章节组成,详细涵盖了公司的基本信息、财务指标、管理层的讨论与分析、公司治理、环保责任、重要事件、股份...
这个名为"中程—Linux高级编程.rar"的压缩包文件,显然是一个关于Linux高级编程的教育资源,它可能包含了一系列的教程、讲义、代码示例和练习题,旨在帮助学习者深化对Linux内核、系统调用、网络编程以及进程管理等...