我正在使用Visual Studio 2008.是否有可能执行自动构建解决方案,以便您可以更改项目的资源文件/其他文件以将值带入?使用资源修改自动编译
例如,到期日。每次我需要新的失效日期时,我都必须打开解决方案,打开相关的源文件,修改失效日期,重建。
我想知道是否有可能缩短所有这些步骤,基本上,只需更改日期并构建而不必打开项目。
谢谢!
我正在使用Visual Studio 2008.是否有可能执行自动构建解决方案,以便您可以更改项目的资源文件/其他文件以将值带入?使用资源修改自动编译
例如,到期日。每次我需要新的失效日期时,我都必须打开解决方案,打开相关的源文件,修改失效日期,重建。
我想知道是否有可能缩短所有这些步骤,基本上,只需更改日期并构建而不必打开项目。
谢谢!
您可以在不启动Visual Studio的情况下从命令行运行构建。
这与构建脚本一起/月做一次正常的方式建立
例子:
devenv /clean release /project ProjectName SolutionName.sln
devenv /build release /project ProjectName SolutionName.sln
变为rc文件并不总是被拾起/建立在VS2005/8,所以做一个干净的构建更安全。
然后,我有一个Python脚本,更新包含
#define VERSION_MAJOR 1
#define VERSION_MINOR 12
#define VERSION_BUILD 368
#define VERSION_DATE "2010:06:19"
这则包括在application.rc2文件version.h文件,。抱歉,不记得错综复杂的字符串宏步骤的原因。我发现它在几年前就已经在网络上出现了,现在可能有更简单的方法 - 但这已经从VC++ 6变成了VS2010!
#include "version.h"
#define _STR(x) #x
#define STR(x) _STR(x)
#define VERSION_STRING STR(VERSION_MAJOR) "." STR(VERSION_MINOR) ".0." STR(VERSION_BUILD)
VS_VERSION_INFO VERSIONINFO
FILEVERSION VERSION_MAJOR,VERSION_MINOR,0,VERSION_BUILD
PRODUCTVERSION VERSION_MAJOR,VERSION_MINOR,0,VERSION_BUILD
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "080904b0"
BEGIN
VALUE "FileDescription", "XXX Application"
VALUE "FileVersion", VERSION_STRING "\0"
VALUE "InternalName", "XXX"
VALUE "LegalCopyright", "Copyright (C) 2010"
VALUE "LegalTrademarks", "XXX"
VALUE "ProductName", "XXX Application"
VALUE "ProductVersion", VERSION_STRING "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x809, 1200
END
END
最后将其列入application.rc
#include "res\application.rc2" // non-Microsoft Visual C++ edited resources
这一切都证明有必要,因为Visual Studio中会覆盖外部的变化时,在对话框编辑器打开.rc文件 - 唐”不知道这是否已经在更新的版本中修复,并且它是MFC的一个问题。
任何示例?一些链接将会很好。 – user303907 2010-06-29 04:59:15