了解.NET程序生成时的bin目录和obj目录

昨天,有同事问我.NET程序生成时的bin目录和obj目录分别都有什么用?我想bin目录大家可能都比较熟了,而obj目录则很少有人注意。

1.关于bin目录和obj目录

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

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

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

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

具体参见

http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vbcon/html/vblrfaddmethodreferences.asp

 

posted @ 2006-01-08 10:01  TerryLee  阅读(5866)  评论(3编辑  收藏  举报