• 利用VS2010的项目生成事件属性进行生成文件的复制与打包


    在实际开发过程中,一个公共使用的类库,在项目生成DLL后需要被复制到不同的目录下被引用,是不是觉得每次生成之后都需要人工复制是很麻烦的一件事情

    我们可以利用VS中的项目生成事件属性来进行生成后的DLL复制到指定的目录,或者进去其他的操作,比如打包成.zip的压缩包

    属性如图:

    第一:需要在生成前进行操作,就在预先生成事件命令行写需要执行的bat代码,如果不会请百度如何写。

    这里记录下我项目中需要使用的代码:

    if not exist $(ProjectDir)....SiteDllClientBinModules md $(ProjectDir)....SiteDllClientBinModules

    这里需要解析下,$(ProjectDir)是VS的宏定义,生成的是当前项目的目录路径

    这一行代码的作用是,如果不存在modules这个文件夹则创建一个

    第二:生成后要进行复制dll到指定路径,把dll压缩成zip格式的压缩文件,这里根据不同的需求作出不同的处理,

    代码如下:

    copy $(TargetPath) $(ProjectDir)....ProjDll$(TargetFileName)
    if exist "%ProgramFiles%WinRARwinrar.exe"  ("%ProgramFiles%WinRARwinrar.exe"  a "$(ProjectDir)binDebugWorkflowDesigner.dll.zip" "$(ProjectDir)binDebugWorkflowDesigner.dll" )
    copy $(TargetPath).zip $(ProjectDir)....SiteDllclientbinModules$(TargetFileName).zip
    copy $(TargetPath).zip $(ProjectDir)..LEGS.WebclientbinModules$(TargetFileName).zip

    下面解析下以上的代码

    1、copy $(TargetPath) $(ProjectDir)....ProjDll$(TargetFileName)

    注意:$(TargetPath)生成的是完整的文件目录,比如DLL的项目名称为abc这里生成的路径如d: etsindebugabc.dll

    2、if exist "%ProgramFiles%WinRARwinrar.exe"  ("%ProgramFiles%WinRARwinrar.exe"  a "$(ProjectDir)binDebugWorkflowDesigner.dll.zip" "$(ProjectDir)binDebugWorkflowDesigner.dll" )

    这里查看了下WinRaR的帮助文档就是利用bat语句进行调用winrar来把文件压缩成zip格式的压缩文件,先判断ProgramFiles目录下是否存在winrar.exe文件,存在则调用

    命令为:"%ProgramFiles%WinRARwinrar.exe" a "压缩后的目标文件" ""需要压缩的文件

    3、copy $(TargetPath).zip $(ProjectDir)....SiteDllclientbinModules$(TargetFileName).zip
    copy $(TargetPath).zip $(ProjectDir)..LEGS.WebclientbinModules$(TargetFileName).zip

    这里的代码很简单,就是复制文件到指定目录而已

  • 相关阅读:
    Web3与智能合约交互实战
    详解 Solidity 事件Event
    iOS App迁移(App Transfer)注意点
    IDFA踩坑记录
    iOS error: -34018
    Apple 的命令行交付工具“Transporter”
    关于iOS UIWebView 加载网页,点击网页内某些控件导致 Application 'UIKitApplication:xxx.xxx.xxx' was killed by jetsam.
    苹果应用内支付详解以及如何预防刷单等行为
    iOS “弱账号” 暗转 “强账号”
    好用的敏捷开发软件推荐
  • 原文地址:https://www.cnblogs.com/wuqihui/p/3255559.html
Copyright © 2020-2023  润新知