VS2008(Microsoft Visual Studio 2008)是一个较新版本,新版每每都比旧版本完善,并且会提供更多的特性与实用功能,但不必定是最稳定的版本。不稳定但不会影响喜欢尝新一族,相信不少人都是为了看看VS2008的新脸孔而装了VS2008。固然相信也有不少人会去使用VS2008的一些新特性,好比在.NET2.0刚出来的时候,不少人以为新提供的“泛型”颇有用,因而开始使用新的集成IDE。程序员
可是要换新的IDE并非想换就换的,好比公司要求用什么版本,咱们我的是不能用新的版原本进行开发的,由于你的项目还要与其它团队队友合做。另外你的程序发布环境也是一个制约因素,比于说拿.NET开发网站,客户说他本身没有服务器,并且如今众多虚拟主机都尚未提供新版本.NET环境支持状况下,咱们仍是不要拿新版本应用于实际开发中。最多出于我的好奇,在本身机子上装上玩玩就好了。sql
做为一个小小的程序员,我有一个学习提升的习惯就是常常download些源码读读,就拿.NET方面来讲,有时候下载些整站源码,发现打不开,这每每是由于下载的源码是用较高版本的IDE开发的,这样虽然能够用记本事或一些轻量级的具备代码着色功能的编辑器查看,但始终感受不够方便,小项目逐个文件打开阅读还算过的去,可是遇到大项目,这样阅读效率低,我喜欢VS中的“转到定义”功能,这样能够轻松地查看当前调用方法或类的具体定义代码片断。apache
也许你会回答我你下载哪一个版本开发的就用哪一个版本IDE打开就好了,可是对于VS,这家伙太大了,我不可能仅仅为了方便读一下代码要从新装个新版本,而不是用公司现有版本的VS来打开它,我认为这代价很高。因而我想要找到一种较为折中的办法,这就是能不能用VS2005打开VS2008建的解决方案。服务器
通过查阅相关资料后发现有牛人试验成功。但有一点仍是要注意的,若是你下载的代码是用VS2008开发的,程序自己一点没有用VS2008,或用.NET3.5以上特性,咱们仍是可能完美编译并运行它的,不然咱们最可能是在VS2005中打开看看代码,运行则会报错,除非你改变VS2005的.NET版本(不知道能不能改变)。编辑器
尝试用记事本去打开VS解决方案(sln格式)及项目文件(csproj格式),发现都能正常打开并看到相关内容,发现sln文件相似于Apache的配置文件httpd.conf,而csproj是标准的XML文档,这意味着能够拿它与其它版本生成的文件进行比较并做相应修改,下面再推荐一个实用对比小软件。ide
<1>用记事本打开解决方案文件“解决方案名.sln”,而后修改最上面两行为以下代码:sqlserver
Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005学习
<2>用记事本打开每一个项目文件“项目名.csproj”,在<PropertyGroup>节点下移除以下节点: 网站
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>ui
<3>并修改ProductVersion和Import两个节点为以下:
<ProductVersion>8.0.50727</ProductVersion>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
注意:在我修改Discuz!NT源码部分项目文件XML的时候,发现上面说的一些节点是没有的,经对比分析发现,这些项目应该是用旧版本VS开发的,在转到新版本VS后,这些项目再没有被修改过,因此能够不理。而在我试图运行整个项目的时候,又发现运行不起来,根据错误报告发现Discuz!NT项目确实用了.NET3.5的一些新特性,好比用了属性的缺省写法:public int TimeOut { set; get; }