zoukankan      html  css  js  c++  java
  • VS 生成事件

    转载自: http://hi.baidu.com/gisince/item/7f0439ee610c94255a2d64b4 

    今天写了生成事件的处理,如下:

    从网上Down了一个例子,运行时提示错误 命令"copy F:…… F:……"已退出,返回值为 1;以前没遇到过,从网上查了一下,有个网友也有这个问题,他是把一个程序复制一遍,程序名称变成了“复制 程序名”,就出现了这个问题,而源程序没任何问题;于是我把程序放到F盘的根目录下,运行,程序正常。再一分析,是该程序设置了“生成后事件”,进行了一些复制操作,但不知道和路径有什么问题,仔细一看,我们两个程序的路径中都有空格,难道是空格的原因,把路径中的空格删了,没有任何问题了。

    看来VS中生成事件的命令行中的路径不支持空格,以后得注意了。

    copy /V "$(TargetDir)$(TargetName).dll" "........Bin" 
    if Exist $(TargetDir)$(TargetName).pdb copy /V "$(TargetDir)$(TargetName).pdb" "........Bin"
    if Exist $(TargetDir)$(TargetName).xml copy /V "$(TargetDir)$(TargetName).xml" "........Bin"
    以上实现在编译生成后将程序集文件拷贝至指定目录,这里为根目录下的一个bin文件夹下

    把生成的dll,lib分别拷贝到指定的目录下面:
    set MY_TARGET_PATH=....in
    copy /y $(TargetPath) %MY_TARGET_PATH%
    copy /y $(TargetDir)$(TargetName).pdb %MY_TARGET_PATH%
    set MY_TARGET_PATH=..Lib
    copy /y $(TargetDir)$(TargetName).lib %MY_TARGET_PATH%

    在VS的项目属性“生成事件”标签页中有“生成后事件命令行”,可在这里输入比如:
    copy $(TargetDir) "C:Program FilesMailSetup"
    这样编译成功后会将生成的文件拷贝到C:Program FilesMailSetup
    这里有两点注意:
    1、目标路径要用双引号括起来
    2、使用了宏的源不需要,比如可以写成$(TargetDir)*.exe
    3、如果项目无任何改动,“生成”是不会编译的,所以当运行生成后事件选中“生成更新项目输出时”,不会被执行,但“重新生成”会无条件的输出,并触发事件

  • 相关阅读:
    插入排序
    选择排序
    二分法查找
    pickle模块的使用
    循环和递归求阶乘、递归实现汉诺塔程序、递归实现拆出每个位的数字放在列表中、递归求第五个人的年龄
    app测试和测试基础
    TCP协议中的三次握手和四次挥手及其他
    AcWing 122 糖果传递
    AcWing 121 赶牛入圈 (二分+离散化)
    AcWing 120 防线 (二分)
  • 原文地址:https://www.cnblogs.com/xdot/p/6258826.html
Copyright © 2011-2022 走看看