你说的没错,MFC是不基于.net的,而WinForm是基于.net的。
用MFC开发的程序经过简单的设置(设置为静态连接),其release版本就可以脱离开发环境成为一个绿色软件。而WinForm则不然,它的release版本的软件需要开发时设置的对应版本及以上版本的.net运行库的支持才能运行。当然也可以用一些软件构建一个虚拟的.net环境,以前的飞信就是这么做的,可以利用飞信的虚拟环境来将你的WinForm程序(release版本)脱离Windows的.net来运行,但这样软件包会变的非常大(约大20M左右)。当然,vista和win7都已经在系统安装时集成了.net,所以xp以上的系统不必考虑.net的支持。
其实MFC是基于visual C++语言的开发,而WinForm是基于托管C++的开发,也就是说WinForm程序开发可以简单认为是通常所说的CLI或者是C++/CLR。
WinForm用C#语言来开发比较方便。
重新装你的vs,装的时候全部装上
你的VS安装应该不完整吧,重装VS。。。