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 }
2.自动修改程序安装包图标
VS可以制作程序安装包,默认生成setup.exe以及setup.msi。由于setup.exe的图标不能在制作程序安装包的项目当中指定,所以萌生了借助VS生成事件,调用第三方工具替换setup.exe的图标的想法。
经过一番搜索,发现 ResourceHacker 既可以支持界面操作,也可以支持命令行操作。仔细阅读相关说明后,得出如下事件命令行:
需要注意的是,程序安装包似乎没有VS编译事件,可以新建一个空项目,并填写事件命令行内容。通过右键,将制作安装包项目设置为新建空项目的项目依赖项。
三、写在最后
以上只是VS事件的简单介绍,可以依据项目实际需求,具体调整事件命令行内容。原则上来讲,cmd命令行支持的内容,VS事件命令行也会支持。
特别声明:本文版权归本人以及博客园所有,禁止任何未授权个人以及网站部分或全部使用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?