zoukankan      html  css  js  c++  java
  • Visual Studio 生成事件这件小事

    在上一篇《Visual Studio 调试技巧》中,介绍了一些VS常用的调试操作,今天,聊一聊VS当中一个不太常见,但有时又有妙用的操作——VS生成事件。

    一、什么是VS生成事件

    简单来说,VS生成事件就是在编译项目的过程中发生的一些事件。根据事件发生的时机,允许自定义一些操作。

    VS生成事件可以在项目上右键,选择属性菜单后看到。VS生成事件分为以下两大部分:

    1. 生成前事件命令行,可以指定在项目编译之前执行的一些命令行操作。

    通过点击编辑预先生成按钮,可以编辑生成前事件命令行。其中按钮允许插入一些预定义变量,可以代表文件路径。

    2. 生成后事件命令行,可以指定在项目编译之后执行的一些命令行操作。 

    运行后生成事件可以指定运行生成后事件的发生条件。

    简单了解VS生成事件之后,再以真实案例说明下VS生成事件的运用。

    二、VS生成事件应用

    1.使用xcopy拷贝dll

    在实际的开发过程中,有时需要使用C#调用C++ dll。然而,C++ dll 分为x86和x64版本。C#程序运行时,需要依据操作系统的类型加载合适版本的dll。这个时候,一个解决方案就是,将公有位置上x86和x64版本的C++ dll ,通过VS生成事件,使用xcopy命令拷贝到程序生成目录的x86和x64文件夹下面,C#程序启动时,自动从x86或x64文件夹下拷贝合适版本的C++ dll。具体命令行实例如下:

     1 /// <summary>
     2 /// author LightSmaile
     3 /// </summary>
     4 private void CheckBlogPosition()
     5 {
     6     if(thisBlogPostion != "cnblogs")
     7     {
     8         Console.WriteLine("this blog has been crawled!");
     9     }
    10 }
    View Code
     2.自动修改程序安装包图标

     VS可以制作程序安装包,默认生成setup.exe以及setup.msi。由于setup.exe的图标不能在制作程序安装包的项目当中指定,所以萌生了借助VS生成事件,调用第三方工具替换setup.exe的图标的想法。

    经过一番搜索,发现 ResourceHacker 既可以支持界面操作,也可以支持命令行操作。仔细阅读相关说明后,得出如下事件命令行:

    需要注意的是,程序安装包似乎没有VS编译事件,可以新建一个空项目,并填写事件命令行内容。通过右键,将制作安装包项目设置为新建空项目的项目依赖项。

    三、写在最后

     以上只是VS事件的简单介绍,可以依据项目实际需求,具体调整事件命令行内容。原则上来讲,cmd命令行支持的内容,VS事件命令行也会支持。

    特别声明:本文版权归本人以及博客园所有,禁止任何未授权个人以及网站部分或全部使用。

  • 相关阅读:
    Vue Element UI 中国省市区级联数据---npm install element-china-area-data -S
    Websocket review--掘金文章review
    Vue+ElementUI动态切换验证规则, 以及自定义验证会引起表单验证失效,使用callback()解决
    二次封装element的日期组件
    Dynamics 365站点地图中添加动态链接
    Dynamics 365执行Remove Active Customizations的多种方法
    我的维护劳动者权益之路(三)
    我的维护劳动者权益之路(二)
    我的维护劳动者权益之路(一)
    HTML-注册页面(表单布局)
  • 原文地址:https://www.cnblogs.com/LightSmile/p/11723175.html
Copyright © 2011-2022 走看看