【发布时间】:2010-11-25 16:45:25
【问题描述】:
情景
我的项目设置了一个构建后阶段来运行一个批处理文件,该文件读取一个文本文件“version.txt”。批处理文件使用 version.txt 中的信息通过使用 this tool 的版本块注入 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 文件作为构建的输入,但实际上并没有尝试使用它。
如果我在项目中#include 来自 CPP 文件的 .txt 文件,编译器会失败,因为它显然不理解“@set”的含义。
如果我在 @set 命令周围添加 /* ... */ cmets,则批处理文件会出现一些语法错误,但最终会成功。但我认为这是一个糟糕的解决方案。
那么...你会怎么做呢?
【问题讨论】:
标签: visual-studio visual-studio-2008 batch-file dependencies versioning