• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#项目中的bin目录和obj目录的区别,以及Debug版本和Release版本的区别【转】 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
1.关于bin目录和obj目录

Bin目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。

obj目录是用来保存每个模块的编译结果,在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录 下。因为每次编译时默认都是采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。是否采用增量编译,可以通过:项 目属性—>配置属性—>高级—>增量编译来设置。


2.“是否复制到本地”的设置问题

在添加引用时,.NET会记录添加的引用绝对路径,这些设置保存在“每用户”文件中,(Solution.csproj.user),可以通过记 事本打开查看。也可以在:项目属性—>通用属性—>引用路径里面查看。如果设置复制到本地为true,在生成项目时会自动拷贝该DLL到项目 生成文件夹中(bin目录),否则不会拷贝。在生成项目时,对所添加的引用的是绝对路径,而在运行时程序集默认只在当前所在的路径下去找。要修改引用的路 径,必须通过编程的方法去实现。使用References 对象。

某些软件从功能上有企业版、标准版之分,.Net程序集有Debug和Release之区别 


关于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文件。 

注意若要更改项目的生成模式,不能只从项目属性页上点“配置”下拉框更改,那样不起作用,必须点右上角的“配置管理器”按钮才能更改。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#获取父控件容器的属性发布时间:2022-07-10
下一篇:
基于C#的通信协议封包(附代码)(转)发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap