我目前正在寻找一种方法来保持设置项目输出不会覆盖以前的版本。 IE当构建一个安装项目时,它会替换Release / Debug文件夹中的任何内容,有没有办法将输出重命名为包括版本号或日期的内容,只是因为它不会覆盖那里的前一个文件,甚至创建每个构建的单个文件夹,包括日期和时间。
我知道这可以通过PostbuildEvents完成,但是我无法理解需要做的事情。
顺便说一下,这是visual Studio 2008。
答案 0 :(得分:4)
这比我想象的要难; PostBuild事件值不会扩展部署属性,我看不到从命令行获取程序集版本。
我想出的解决方案是创建一个PostBuild事件,该事件将项目输出复制到使用%DATE%和%TIME%环境变量上的子字符串评估构造的文件名,以获得唯一的文件名。试一试:
COPY "$(BuiltOuputPath)" "$(ProjectDir)YourProjectName%DATE:~-4%%DATE:~-10,2%%DATE:~-7,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.msi"
是的,它拼写为“BuiltOuputPath”,带有3“t”。谢谢微软!