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、如果项目无任何改动,“生成”是不会编译的,所以当运行生成后事件选中“生成更新项目输出时”,不会被执行,但“重新生成”会无条件的输出,并触发事件

  • 相关阅读:
    前端agl分页的写法
    分布式项目spring 配置文件的约束
    电脑维修常用硬件技术
    电脑维修常用检修软件技术
    电脑维修快速入门
    电脑维修基本流程
    re模块
    flask-本地线程-请求上下文补充
    SEO(搜索引擎优化)
    前端基础之jquery
  • 原文地址:https://www.cnblogs.com/xdot/p/6258826.html
Copyright © 2011-2022 走看看