雁过请留痕...
代码改变世界

VS编译时会将引用参照的dll所引用的子dll一起拷贝

2011-06-01 16:20  xiashengwang  阅读(595)  评论(0编辑  收藏  举报

 今天发现一个很“怪异”的现象,用VS2008编译一个工程后,发现SVN目录的某些文件(几个dll文件)又变回以前的版本了,以为是SVN出了问题,重启机器后还是有这个问题。我的VS2008工程的输出路径是指向svn的本地拷贝路径的(这样,有修改了,就可以上传最新的程序),经过一番检查,发现不是SVN的问题,是VS2008编译的问题。工程中引用了一个Main.dll,每次编译都把它拷贝到输出目录,但Main.dll自身也引用了几个dll,在我的工程中只能看见一个Main.dll的引用,看不见它的子引用,当重新编译时,VS2008会将Main.dll引用的dll一起拷贝到svn目录,这样就出现了那个“怪异现象”,每次都把里面的几个子dll覆盖了。