Apr 17, 2007

.NET Framework2.0和.NET Framework1.1 兼容性

由于电脑空间小,Dell的机器啊,就20G的硬盘空间,不得已拿安装文件开刀。
看到.NET Framework 1.1占用了很多的空间,大概300M,心想.NET 都3.0了,Visual Studio 2005拿 .NET Framework 2.0使用还有情可原,你这个1.1的老古董再出来混也太不应该了吧,三下五除二,快刀斩乱麻:删之!同时我把.NET Framework2.0的英文版也删了。
结果出了两个问题:一是Visual Studio 2005不能用了,原来.NET Framework 2.0的中文版和英文版是Visual Studio 2005都需要的,重新修复立马解决问题。另一个就是,我原来用.NET Framework1.1开发的一个网站不能登陆了。
难道就非得装.NET Framework1.1吗?我想了想,微软是非常重视兼容性的,向下兼容是一个版本能够顺利代替先前版本的很重要的因素。到微软网站上一看,果然如此,2.0全面兼容1.0。我开始找无法兼容的原因。

IE显示编译错误,'CS0104: “Configuration”是ASPNET.StarterKit.Portal.Configuration”和“System.Configuration.Configuration”之间的不明确的引用'。这说明,2.0会创建两个对象,而这两个对象重名了,因此编译器不知道调用那个对象了,这还不简单?用全名来指定不就行了吗?我在Configuration前加上了ASPNET.StarterKit.Portal的指定,一下就OK了。看来2.0对于1.1的兼容性还是很不错的,出了问题可能是本身的写法上存在隐患。

No comments: