首页  编辑  

Visual Studio 2015/2017中如何自动编译的时候把附加DLL复制到输出目录

Tags: /C#/   Date Created:
如果你的源代码中,使用了其他附加的一些DLL,那么在源码库里面,有几种方式处理,一种是直接在项目输出目录下保存对应的DLL,并加入源码库。
但这种方式有两个缺点,一种是你可能更改输出目录,这样原来的目录下的DLL就无法被用到,另外一个就是,如果你有Debug, Release等多个配置,甚至包括publish发布等,那么每个目标目录下你都得预先保存一份,这会把源码库撑大。

因此合理的方式是,在源码库里面保存一份附加的DLL,在编译、发布的时候自动输出到目标目录,这样既可以满足附加DLL文件要求,又可以保持git源码库整洁。

另外一种方式是在项目的属性、生成事件中,预先生成事件命令行(Pre-build event command line)或者后期生成事件命令行使用copy命令复制响应的DLL过去。
这种方式是比较合适的方式。
例如,后期生成事件命令行(post-build event command line):
copy $(ProjectDir)\*.dll  $(OutDir)\
可以把源码库中源码项目文件所在目录下的DLL复制到输出目录下!

当然还有一种方法,就是在vs的解决方案资源管理器中【对你需要复制到目标目录的文件,右击,属性,复制到输出目录,选择“始终复制”,生成操作,选择“无”】既可。
这种方法适合少量的,不适合很多个DLL,但是最简单的方法了。