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在开发阶段常被修改, 这时可以每次修改后自动拷贝到"干净"目录里供安装程序打包. 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值