因为我的是从一个EmptyProject编译得来的dll,即所有繁琐的细节我都没要,但是问题也很明显,就是没有配置版本信息的地方,至少是找不到!
比较正统的方法还是没找到,Mr. Google也大多描述的是发布asp.net网站项目时对应的dll的版本信息的配置方法,至于我想做的,即一般的dll项目的版本信息,鲜有描述,作罢,自己来弄一个吧!!!
首先给自己的dll项目增加资源文件,右击项目>>Add>>Resource...
然后在弹出来的对话框中选择,有很多,诸如Bitmap,HTML,ICON,...,Version等,所以,只要选择需要的Version即可!
最后就非常简单了...(如果顺利的话,自然很简单,但是就怕Vs2005编译器给你“耍横”,其实不是编译器不听话,而是还不会用它罢了,不管了,总之我的就是不能添加,也许是Vs2005安装有问题,提示“没有找到指定的模块”云云)
没办法,只有手动创建$(ProjectName).rc文件了,其实很简单,
1.编辑一个文本文件,大致如下:(这不是唯一的文件格式,可以选择性的包含相应的部分,建议对照一个MFC程序的***.rc文件来编辑)
// Microsoft Visual C++ generated resource script.
//
#include "afxres.h"
/
// Chinese (P.R.C.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(936)
#endif //_WIN32
/
//
// Version: 定义版本信息
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "080403a8"
BEGIN
VALUE "CompanyName", "TODO: <公司名>"
VALUE "FileDescription", "TODO: <描述>"
VALUE "FileVersion", "1.0.0.1"
VALUE "InternalName", "***.dll"
VALUE "LegalCopyright", "TODO: (C) <公司名>。保留所有权利。"
VALUE "OriginalFilename", "***.dll"
VALUE "ProductName", "TODO: <产品名>"
VALUE "ProductVersion", "1.0.0.1"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x804, 936
END
END
#endif //#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
// Chinese (P.R.C.) resources
/
其实我是从一个MFC程序里考过来修改成的,不修改也行,但是要包含一个“Resource.h”和“/rec/***.rc2”和“/rec/***.ico”,可以去添加,但是我修改了,不想要那些乱七八糟没有用的文件。
2.保存为$(ProjectName).rc或者一个什么***.rc,然后再右击项目名称>>Add>>Existing Item...
3.找到***.rc,这样不会出错了,接下来双击添加进来的***.rc文件,就可以编辑版本信息了。
4.注意:在2到3步骤中可能Vs2005会提示请求你是否保存并添加相应的文件,记得选“否”,要不然,它会给你生成“Resource.h”文件,而且文件还蛮大的。即只选择保存这个***.rc,其他的一律不要。