zoukankan      html  css  js  c++  java
  • 利用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

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

  • 相关阅读:
    C#实现Winform自定义半透明遮罩层
    C# winform 窗体弹出选择目录或文件 的对话框
    C# winform 窗体弹出选择目录或文件 的对话框
    python语言实现贪吃蛇
    python语言实现贪吃蛇
    用python写一个简单的表白代码
    用python写一个简单的表白代码
    用python写一个简单的表白代码
    百练2810:完美立方
    百练2810:完美立方
  • 原文地址:https://www.cnblogs.com/wuqihui/p/3255559.html
Copyright © 2011-2022 走看看