c# vs2019的编译 生成事件 的 生成前事件命令行

为啥要用生成事件?

在有些场景非常有用. 比如项目包含一个自定义控件或者dll项目, 现在在主程序里调试, 发现控件有些不完善, 修改后再次引用, 反复进行的过程中, 偶尔忘记重新编译控件就直接运行主程序, 导致修改控件的新特性在主程序里显示还是旧版本老样子, 有时以为自己改错代码了, 浪费大量时间去调试, 犯的却是最低级错误: 忘记编译控件最新版本. 当你的项目是由多个相互关联小项目组成时, 这个特性会很有用.

所以这时在主程序里设置 "生成事件" => "生成前事件命令行" , 让主程序编译前必须先编译控件, 当同时修改控件和主程序代码时, 保证无论在控件还是主程序工程里做了修改, 两个结果都最新的. 避免偶尔浪费1-2小时查找最低级错误.

例子: 控件工程名叫: PicBoxZoom.csproj , 在主工程 "生成前事件命令行" 里设置:

MSBuild ..\..\..\OpenDirPath\PictBoxZoom\PicBoxZoom.csproj /p:Configuration=Debug

这样每次编译主工程就会自动编译控件工程, 而且不修改控件代码也不会浪费太多时间编译.

当控件代码已经定型, 你不想每次修改主工程都自动编译控件时, 注释这个命令行就可以了.DOS命令行的注释用REM, 把上行的 MSBuild 变成 REM MSBuild XXX 即可.

生成"后"事件 常用于打包setup文件.原则上打包成setup的文件都放在一个"干净"目录里, 避免不合适的config文件或版本错误的dll和exe被打包, 但是exe在开发阶段常被修改, 这时可以每次修改后自动拷贝到"干净"目录里供安装程序打包. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值