Joseph M. Newcomer [MVP]最近在其个人网站上发表了一篇文章(http://www.flounder.com/vs2325.htm),描述了如何创建与Visual C++ 2003和Visual C++ 2005都兼容的项目。这对一些想逐步把项目升级到VS2005的人很有用。不过是逐步升级还是一次到位则取决于项目经理对人力、费用和功能的取舍。
除了工程文件之外,逐步升级的时候项目中的代码可能也有必要兼容多个Visual C++版本。比如从2003升级到2005的时候需要看看Breaking Changes in the Visual C++ 2005 Compiler (http://msdn2.microsoft.com/en-us/library/ms177253.aspx)和What's New in the Visual C++ Libraries(http://msdn2.microsoft.com/en-us/library/y8bt6w34.aspx )。一个很好地兼容了各个Visual C++的版本的示例是BCG ControlBar,可以去其下载页面( http://www.bcgsoft.com/download.htm )下载一个试用版。兼容不同版本的.Net的代码应该判断System.Environment.Version,或者像Aaron Stebner这样读注册表(http://blogs.msdn.com/astebner/archive/2004/09/18/231253.aspx)。
PS: Joseph M. Newcomer的另外一篇文章(http://www.flounder.com/getminmaxinfo.htm)描述了如何在更改对话框大小的时候相应移动控件,不过我个人则偏向于集成一个Windows Forms之后设置控件的Dock属性。