情景
我的项目设置了一个后构建阶段来运行一个批处理文件,该文件读取一个名为“version.txt”的文本文件。批处理文件使用version.txt中的信息,使用这个工具将DLL注入版本块。
version.txt包含在我的项目中,以便轻松修改。它看起来有点像这样:
@set #Description="TankFace Utility Library"
@set #FileVersion="0.1.2.0"
@set #Comments=""
基本上,批处理文件将此文件重命名为version.bat,调用它,然后在之后将其重新命名为version.txt。
问题是,当我修改version.txt(例如递增文件版本)并按F7键时,构建不会被视为过期,因此不会执行后置构建步骤,因此DLL的版本不会更新。
我真的想将.txt文件作为构建的输入包含在内,但没有任何东西实际上尝试使用它。
如果我从项目中的CPP文件中#include .txt文件,则编译器会失败,因为显然不理解“@set”表示什么。
如果我在@set命令周围添加/*...*/注释,则批处理文件会出现一些语法错误,但最终成功。但我认为这是一个较差的解决方案。
那么...你会怎么做呢?