首先感谢下五岭散人。Cstring的文件报错位置在 <atluser.h> 、<atlgdi.h>...等文件中,问题不在这里,而应该是WTL ATL  MFC  中Cstring混合使用的问题。
如错误所示,
e:\vs2005\vc\atlmfc\include\wtl80\atlctrlx.h(4813): 参见对正在编译的类 模板 实例化“WTL::CTabViewImpl<T,TBase,TWinTraits>”的引用是因为WTL要用到ATL中的Cstring,但是打开<atlstr.h>源文件,定义却是#ifndef _AFX,意思就是如果定义了MFC的Cstring,就屏蔽ATL,而使用MFC的(可见MFC Cstring兼容ATL)。但是 在WTL的一些引用头文件中要用到ATL的Cstring,所以就出现了 “CString: 不是ATL的成员”
错误。
那么现在的问题是,怎样在WTL使用的时候不被MFC的cstring屏蔽掉。
我使用了如下代码,添加到了<atluser.h>文件中
//手动添加
//#undef __ATLSTR_H__    
//#define _ATL_TMP_NO_CSTRING 
//手动添加
Debug错误没这么多了,却转型为如下:
------------------------------debug----------------------------
1>stdafx.cpp
1>e:\vs2005\vc\atlmfc\include\wtl80\atlctrls.h(1992) : error C3861: “ImageList_Read”: 找不到标识符
1>e:\vs2005\vc\atlmfc\include\wtl80\atlctrls.h(2099) : error C3861: “ImageList_Read”: 找不到标识符
1>e:\vs2005\vc\atlmfc\include\wtl80\atlctrls.h(2105) : error C3861: “ImageList_Write”: 找不到标识符
1>e:\vs2005\vc\atlmfc\include\wtl80\atlctrls.h(2112) : error C3861: “ImageList_ReadEx”: 找不到标识符
1>e:\vs2005\vc\atlmfc\include\wtl80\atlctrls.h(2118) : error C3861: “ImageList_WriteEx”: 找不到标识符
------------------------debug------------------------------------
至此,又陷入新的困境,望高人现身