环境:win7_64旗舰版,VS2013

工作项目中,一般会使用第三方库,当修改并重新编译第三方库后,需要将DLL文件拷贝到工作项目下的生成目录中,每次手动拷贝比较繁琐,VS提供自定义生成事件,允许我们在生成前、链接时、生成后执行命令。

一、新建copy_file.bat文件

echo copy_dll.bat
if %Configuration%==Debug (
echo -^> copy "%third_part%\bin\" to "%SolutionDir%%Configuration%\"
copy /Y %third_part%\bin\test_d.dll %SolutionDir%%Configuration%\ >nul
) else if %Configuration%==Release (
echo -^> copy "%third_part%\bin\" to "%SolutionDir%%Configuration%\"
copy /Y %third_part%\bin\test.dll %SolutionDir%%Configuration%\ >nul
) else (
echo Error
)

其中"%third_part%\bin\"为第三方库DLL目录,"%SolutionDir%%Configuration%\"当前工作项目生成目录

二、VS项目设置

打开 项目属性页 -> 配置属性 -> 生成事件 -> 后期生成事件

在命令行中输入:

set SolutionDir=$(SolutionDir)
set Configuration=$(Configuration)
copy_file.bat

我们将当前工作项目中的环境变量设置到命令行中,以便在copy_file.bat中使用当前工作项目生成目录

在VS中生成后拷贝文件的更多相关文章

  1. vue中打包后vendor文件包过大

    vue中webpack打包后vendor.xxx.js文件一般都特别大,其原因是因为我们引用的依赖都被压缩成一个js文件,这样会导致vendor文件过大.页面加载速度过慢,影响用户体验.所以我们就要把 ...

  2. VS2015 编译前/后拷贝文件到指定目录

    项目属性 —> Build Events —>Pre-build / Post-build event command line 中: Copy 源路径 目标路径(将路径用 " ...

  3. mac中如何复制拷贝文件或文件夹的路径

    copy path in Mac 首先打开 automator(自动操作) 然后 最后command+s保存,命名为copy path. 然后随便找个文件右击,选择服务,再选择 copy path , ...

  4. 在VS2010上使用C#调用非托管C++生成的DLL文件

    背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件的时候,通过C#来开发应用软件时,就需要利用DllImport特性进行方法调用.本篇文章将引导你快速理解这个调用 ...

  5. 在VS2017上使用C#调用非托管C++生成的DLL文件(图文讲解)

    原文:在VS2010上使用C#调用非托管C++生成的DLL文件(图文讲解) 背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件的时候,通过C#来开发应用软件时,就 ...

  6. 【转】在VS2010上使用C#调用非托管C++生成的DLL文件(图文讲解)

    原文:http://www.cyqdata.com/cnblogs/article-detail-35876# 背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件 ...

  7. Visual Studio 2012网站如何只生成一个DLL文件

    简介: 在Visual Studio 2005,2008,2010版本中,都有Web Deployment工具将网站进行发布,所有代码文件和库文件发布,生成为一个动态链接库文件,而在Visual St ...

  8. idl生成.h .c文件

    1.从命令行执行 设置INCLUDE.LIB等,可先运行vsvars32.bat(C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\ ...

  9. vs 自动生成core dump文件

    一直以来觉着core dump这个东西很神奇,在初步学习的时候也没有个大方向,最近项目需要记录程序崩溃时的日志信息,因此在网上寻找相关的信息,此时core dump也成为了我重点关注的东西. 说说我的 ...

随机推荐

  1. [Q]自定义保存位置及文件名

    以“DWG To PDF.pc3”打印为例: 说明:<DrawingDirectory> 当前图纸所在目录<DrawingFolderName> 当前图纸文件所在文件夹名称&l ...

  2. ContourLine

    #define MULTI_PLOT true //Determine whether or not to plot multiple iterations. #define X_MAX 1.0 // ...

  3. 学习Java第一篇——Java 安装及环境搭配

    内容提要: 1.下载JDK: 2.安装JDK: 3.配置JDK;   第一,下载JDK:  1.登陆网址:www.oracle.com 2.点击 Downloads 3.选择 Java SE 4.选择 ...

  4. postgreSQL-如何查数据库表、字段以及字段类型、注释等信息?

    之前从网上也搜索了一些关于postgreSQL的系统表含义以及如何查表相关信息,但是都没有一个完整的内容,所以自己将找到的一些内容作了下整合,大家可以根据自己需要再对sql进行调整. --1.查询对象 ...

  5. jquery复选框操作

    $('input[type="checkbox"]').change(function(e) { var checked = $(this).prop("checked& ...

  6. Myeclipse2014中,新建部署Maven项目

    一.环境 1.1 myeclipse2014 1.2 maven3.2.1 1.3 jdk1.7 上述环境配置可参照我之前编写的maven搭建方面的文档.本文着重介绍myeclipse2014下mav ...

  7. Hive 安装过程中的问题

    org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0. ...

  8. 利用commons-io.jar包中FileUtils和IOUtils工具类操作流及文件

    1.String IOUtils.toString(InputStream input),传入输入流对象,返回字符串,有多重重载,可按需要传参 用例: @Test public void showIn ...

  9. Gym 101102C Bored Judge(set--结构体集合)

    这个故事告诉我们,WA了一定要找自己的原因... ... 当我开始用set去做的时候,发现一直过不去,一开始忘了把初始排名加进去,后来忘了第0秒,第0秒第一的id = 1 这个题目的做法也不只这一种, ...

  10. CodeForces 703A Mishka and Game

    简单题. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #inclu ...