VS.Net中程序集的Debug版本和Release版本的区别
作者:未知 请作者速与本人联系
前几天看到豆腐的文章介绍如何知道程序集是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两个子目录,这不知是做什么用的。
相关文章:

《CLR via C#》笔记——CLR的执行模型
一.将源代码编译成托管代码1, CLR(Common Language Runtime)公共语言运行时是一个可由多种语言使用的“运行时”,CLR的核心功能(比如内存管理,程序集加载,安全性,异常处理…

telnet时显示:允许更多到 telnet 服务器的连接。请稍候再试
telnet时显示:允许更多到 telnet 服务器的连接。请稍候再试 解决办法:windows自带telnet服务器默认的最大连接数为2,要想修改该设置,可以在命令行键入tlntadmn config maxconn要设置的连接数。最大连接数是指同一时刻内客户连接服务器的最大数…

Asp.net支持的最大上传文件大小
Asp.net的默认的最大可以上载的文件是4M,可以在web.config中配置.配置 ASP.NET HTTP 运行库设置。该节可以在计算机、站点、应用程序和子目录级别声明。 <configuration> <system.web> <httpRuntime><httpRuntime useFullyQualifiedRedirectUrl&q…

ASP.NET--Menu控件
http://www.meituan.com/r/i13110281 Menu控件提供静态和动态混合的菜单功能。在向页面添加这个控件的时候,开发人员可以选择将它设置为一个完全动态的菜单,以便整个站点的导航结构都可以显示在菜单中,类似于Windows的Start菜单。另一种选择是…

AI进军服装零售产业:微软小冰与特步推出定制化服装设计生产及零售平台
(6月22日,北京) 今日,体育用品企业特步集团与微软小冰宣布达成合作,依托微软小冰人工智能创造技术共同推出的定制化服装设计生产及零售平台即将上线。双方携手为消费者提供定制化图案设计,满足每个消费者的…

PHP如何通过Http Post请求发送Json对象数据?
因项目的需要,PHP调用第三方 Java/.Net 写好的 Restful Api,其中有些接口,需要 在发送 POST 请求时,传入对象。 Http中传输对象,最好的表现形式莫过于JSON字符串了,但是作为参数的接收方,又是需…

字符串截取固定长度的方法
这个函数也没有什么特别之处,就是可以截取一定长度的字符串,可能小特点就是len是字节,解决了汉字与英文字节不一样导致直接截取到的长度不一样的问题, #region 字符串截取函数 public static string CutString(string inputStrin…

hql中常用函數介紹二
为什么80%的码农都做不了架构师?>>> 四. ISNULL 函数和 NULLIF 函数SQL Server里的 ISNULL 与 ASP 中的 IsNull不同,SQL Server 中有两个参数,语法: ISNULL(check_expression, replacement_value) check_expression 与…
技术直播:讲一个Python编写监控程序的小故事
今年疫情“黑天鹅”事件改变了大家的生活。相信大家都经历过,每天早晨起床第一件事,就是查看数据。这些数据不仅仅是人们对活着的渴望,也是在建立对战胜疫情的决心。那么技术人怎么能通过自己所学的去进行数据监控呢?今天CSDN邀请…

ios开发之系统信息
1. //手机系统版本 self.phoneVersion [NSString stringWithFormat:"iOS %",[[UIDevice currentDevice] systemVersion]]; 2. // 获取当前设备可用内存(单位:MB) - (double)availableMemory { vm_statistics_data_t vmStats; mach_msg_type_n…
混合时空图卷积网络:利用导航数据改进交通预测效果 | KDD 2020
作者 | 高德机器学习团队出品 | AI科技大本营(ID:rgznai100)引言时空预测(spatio-temporal forecasting)在天气预报、运输规划等领域有着重要的应用价值。交通预测作为一种典型的时空预测问题,具有较高的挑战性。日常通…

MS SQL Server和MySQL区别
- 最近在做MS SQL Server转换成MySQL的工作,总结了点经验,跟大家分享一下。同时这些也会在不断更新。也希望大家补充。 1 MySQL支持enum,和set类型,SQL Server不支持 2 MySQL不支持nchar,nvarchar,ntext类型 3 MySQL的递增语句是AUTO_INC…

DataGrid在分页状态下删除纪录的问题
在使用DataGrid分页的时候,正常情况下,绑定数据库列表纪录时会自动产生分页的效果,然而我发觉在删除纪录的时候总会发生"无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。"的异常,其实解决这个问题很简…

thinkphp pathinfo nginx 无法加载模块:Index
thinkphp 报了 无法加载模块:Index 错误位置 FILE: /var/multrix/wxactivity_archive/ThinkPHP/Library/Think/Dispatcher.class.php LINE: 177 这个错,刚开始以为是路由错了,还跟了一下代码,始终没有答案,弄了一上午࿰…

Linux普通用户启动tomcat
修改tomcat/bin/catalina.sh文件,加入 export JRE_HOME/usr/java/jre1.6.0_27 ------------------------------------------------------ #!/bin/sh # chkconfig: 2345 80 30# description: tomcat starup scriptCATALINA_HOME/usr/local/apache-tomcat-7.0.21su - …

ASP.NET中利用cookies保持客户端信息
作者:未知 请作者速与本人联系我当前所吃的东东都固定为食物,所以一点也不惊讶,这一周的主题为cookies。Cookies用于存储特定用户信息,它提供了Web程序中一种有用的方式。多年以来,JavaScript开发人员已经进行了有关…
中国自动驾驶技术有多强?你可能还不知道
随着大数据、互联网、5G等技术在汽车领域的不断普及和推广,自动驾驶技术也开始为人们熟知。无论是新能源汽车还是传统汽车,自动驾驶都是业界未来需要抢占的制高点,越来越多的企业在自动驾驶领域开始发力。随着无人驾驶汽车相关法律法规的放宽…

UNIX/Linux系统管理技术手册(3)----bash 数组和算术运算
复杂的数据结构和计算不是 bash 的特长。但它的确至少提供了数组和算术运算。 1.算术运算 所有的 bash 变量的值都是字符串,所以 bash 在赋值的时候并不区分数字 1 和 字符串 "1" 。不同之处在于如何使用变量。下面几行代码展示出了其中的差异:…

文件上传的实现(C#)
文件上传一. 在Form中一定要将encType设为"multipart/form-data":<form id"WebForm3" method"post" encType"multipart/form-data" runat"server" >二. 判断是否有文件上传了:当用户没有选…

C#编程应用--线程与委托
1. C#开发C/S程序,有时需要几个端,如服务器端,管理端,客户端等等, 端与端之间是不同线程或者进程,这就涉及跨线程调用的问题,使用委托或者异步线程是必不可少的,这里是一个简单的委托…
深度整合英特尔傲腾,SmartX首发100us级超低延迟超融合解决方案
6 月 17 日,致力于超融合中高端市场的SmartX公司正式发布基于核心软件 SMTX OS 与英特尔 傲腾™ 持久内存的高性能、低延迟超融合解决方案与SmartX Halo P系列一体机。 SmartX 在业内首次将英特尔傲腾持久内存以App Direct Mode (应用直接访问模式&…

caffe的python接口学习(6):用训练好的模型(caffemodel)来分类新的图片
经过前面两篇博文的学习,我们已经训练好了一个caffemodel模型,并生成了一个deploy.prototxt文件,现在我们就利用这两个文件来对一个新的图片进行分类预测。 我们从mnist数据集的test集中随便找一张图片,用来进行实验。 #codingutf…

Android应用程序消息处理机制(Looper、Handler)分析(2)
我们再回到NativeMessageQueue的构造函数中,看看JNI层的Looper对象的创建过程,即看看它的构造函数是如何实现的,这个Looper类实现在frameworks/base/libs/utils/Looper.cpp文件中: Looper::Looper(bool allowNonCallbacks) : …

以下一些使用ASP.NET和VISUAL STUDIO.NET2003的经验和技巧
作者:未知 请作者速与本人联系1,不要在VS里直接复制ASPX文件,因为复制的时候,两个文件会使用同一个类文件,要复制的话,应该建空文件,然后复制页面和代码2,发在项目完工的时候,要想得到一个干净的,仅有必需文件的项目,可以用复制…

微软推出智能语音评测服务,注重解决四大技术障碍
今年5月,在微软开发者大会上,他们宣布推出智能语音评测服务。基于Azure云的认知服务平台,该服务涵盖语音识别、语音合成等技术,主要应用于各种教师评估、作业练习和语言学习等教学场景。 通过市场调研和反馈,他们将语…

这些编程语言程序员工资最高!Java才第四
在众多行业中,程序员属于高薪职业。无论是在国外还是国内,程序员的薪金水平普遍高于其他行业的工作岗位。 高薪的诱惑和充满挑战性的工作,令程序员一直成为备受欢迎的职业。在今年年初,Glassdoor发布的一份调查报告指出ÿ…

仔细选择会话状态提供程序
ASP.NET 为存储应用程序的会话数据提供了三种不同的方法:进程内会话状态、作为 Windows 服务的进程外会话状态和 SQL Server 数据库中的进程外会话状态。每种方法都有自己的优点,但进程内会话状态是迄今为止速度最快的解决方案。如果只在会话状态中存储少…

10.VMware View 4.6安装与部署-view clint和view for ipad连接测试
安装基于 Windows 的 View Client,最终用户需要从物理机打开 View Client 来连接其虚拟桌面。您可以运行基于 Windows 的安装程序文件来安装 View Client 的所有组件。如果 View 管理员启用了某些显示选项,那么除了通过 View Client 访问虚拟桌面外,最终…
免费直播:主流深度框架对比:总有一款适合你~
常常有小伙伴在后台反馈:想了解深度学习该怎么学?自学难度大又没有效果,该怎么办?CSDN为了解决这个难题,联合唐宇迪老师为大家带来了一场精彩的直播【一节课掌握深度学习必备框架】。本次直播将带大家了解在开始深度学…

QCon2016旧金山大会焦点分享者确认
QCon旧金山大会是由InfoQ举办的连续十年的最大的英语会议,它将在今年11月7-9日在旧金山湾区举行。\\在QCon大会涵盖了一系列深入的技术,架构师、资深开发者所关注的国际事件,聚焦创新领域和软件发展趋势,QCon大会每年在美国、中国…