Microsoft IDE的改进方便了各个层次的用户,这些改进包括语言级集成查询、新的绘图设计图面、支持Vista, Web 2.0技术和.Net 框架的多个版本。VS2008是微软公司坚持IDE(集成开发环境)长期路线的最新体现。它是最初的集成开发环境,用来使用微软.Net Framework开发应用程序,至少是最好的Windows的C/C++集成开发环境的竞争者。当然,VS2008不仅仅限于开发台式机应用程序,它也适用于开发Web, SOA和设备应用程序。
从免费的Express Editions 版本到无所不能的价值10,000美元的Visual Studio Team System 2008 Team Suite ,VS2008发布了一系列的版本。从根本上说,Express版本是为初学者,学生以及业余爱好者设计的,标准版本是针对个人开发者的,专业版本则是为高级开发者以及小团队的工作者设计的。
Team System主要是为更大的团队设计的,主要包括开发者,设计者,数据库管理人员,测试人员在内的Team System客户,以及一个被命名为Team Suite的多功能的联合客户。Team System的服务器是Team Foundation Server (TFS),,此Team Foundation Server (TFS)结合了一个团队入口,版本控制,工作项目追踪,build 管理, 流程指导以及商务智能.
本文针对VS2008专业版的得与失进行了分析,而且会提及到Team Suite的一些优点。希望与大家一起分享。
安装和测试
本文使用了VS2008的三种安装方式:第一个是安装在Windows Vista上的专业版本,这个是为x64笔记本电脑设计的,而且笔记本上带有Expression Web和 Expression Blend;第二个是安装在Windows XP台式机上的Team Suite,而且Windows XP上也安装了VS05,但是不能使用TFS;第三个是安装在Windows Server 2003 Virtual PC里的Team Suite,Windows Server 2003 Virtual PC上也安装了TFS。以上版本的90天测试版都可以从Microsoft 官网上找到。
在开始安装之前,有一个小建议,即创建一个系统的镜像备份。这是非常明智的,因为安装VS2008通常需要几个小时,而且需要手动开始文件安装步骤。
我连续几周在XP台式机上运行了VS2008 Team Suite,而且每周都运行五天,而且试图在所有的开发工作中使用VS2008 Team Suite。我也在Vista笔记本电脑上使用专业版本运行了几个单个的开发方案,并且在Team Suite/TFS virtual PC上模拟了一些团队开发方案。有一点要注意的是,如果使用帐号控制(UAC),在Windows Vista上安装,就一定要作为管理员将VS2008多运行几次,直到所有要求的目录都创建了为止,完成后,它才是完全符合UAC的。
引进.Net Framework 3.5
VS2008是Visual Studio第一个支持.Net Framework 3.5的版本。它也是第一个以.Net Framework (2.0, 3.0, and 3.5)多个版本为目标的版本。Visual Studio先前的版本仅仅支持.Net Framework的一个版本,强迫开发者要么保持Visual Studio的多个版本,要么将所有项目更新到.Net Framework的当前版本。以多个为目标是一个很受欢迎的进步,在标准版本以及更高级版本中都可以找到它。
很多技术人员都希望微软在这一方面取得更多的进步。不幸的是,微软并没有提供以.Net Framework 1.1为目标的版本,也没有在VS2008, VS05和 Visual Studio .Net 2003项目间提供简单的双向转换。这点让我们感觉到有些失望。
.Net Framework 3.5有多个新类别库和语言功能,包括语言级集成查询,与Web 2.0 和 SOA相联系的改进,集成的工作流程,点对点的协议,以及Microsoft Office支持。
所有这些工具都能在VS2008中找到,例如,在Visual Basic.Net 和 Visual C#中,VS2008 的标准版,以及更高的版本中都有语言级集成查询(LINQ)支持,包括面向对象设计(Object Relational Designer), the SQLMetal命令行参数工具, LINQ-aware 代码编译器,以及调试程序支持。
LINQ语言级集成查询
LINQ是一个带有许多可能组件的一般机制。LINQ将数据查询引入到C# 和Visual Basic语言,为查询创建句法,这些查询针对于内存中的数据结构,就像针对于文件系统,XML文件,SQL数据库的查询一样。
VS2008中有几个LINQ组件和提供商,包括Objects(字符串,反射和文件目录)的LINQ,XML 的LINQ 以及 ADO.Net 的LINQ。 ADO.Net 的LINQ包括两个组件:DataSet 的LINQ 和SQL的 LINQ 。VS2008中没有包括更高级的ADO.Net 实体框架,以及实体的 LINQ ,但是今年都会作为一个辅助工具补充进来。
我在针对于SQL服务器2000数据库的C#中测试了SQL 的LINQ。
在写LINQ 查询时,Object Relational Designer从数据库架构中创建C#类型进执行得很顺利,而且IntelliSense也工作正常。另一方面,通过手写针对于三个相联系表格的LINQ查询导致了LINQ存在的一些技巧方面的局限,我们都期望得到能和VS2008图像SQL Query Designer 相对等的LINQ 。因为我从没有找到书写和SQL “SELECT DISTINCT”查询相对等的LINQ的方法。
智能感知, 重构, 单元测试和指标
在做这个小项目的时候,我发现C#重构功能(包括在专业版以及更高的版本中)运行顺利。编辑C#时,开发员能利用自动的重构。这是LINQ的完全智能感知支持。只为托管代码计算代码指标。
我也发现托管代码(包括VSTS Developer和Team Suite中的托管代码)的代码指标也运行得很好。我不确定我是否同意为代码(此代码从设计图面生成)计算指标的方法,但是我确定能看到指标的全部效应,尤其是在带有TFS的团队项目托管范围内。让人高兴的是,VS2008为托管代码引进了此技术。
但是,非托管 C++项目不能使用代码指标和代码重构,对这一点让人感到很失望。另一方面,C++程序可以利用一个很好的调用浏览器,即它给你提供一个关于其他功能的简洁说明,这些功能可以调用一个特定的功能,代码行则执行这些调用。
Visual Basic项目有代码指标,这些代码指标带有简洁得不可思议的句法,巨大的智能感知功能,以及许多代码片断。然而, 让人失望的是,Visual Basic项目没有代码重构,尽管可以利用几个第三方插件添加此功能。
现在单元测试是专业版本的一个功能(它是VS2005中的一个VSTS功能)。我们可以为C#,Visual Basic,以及托管 C++解决方案创建单元测试和测试项目。在使用免费的开放源程序Nunit之前,可以为C#, Visual Basic以及 托管 C++解决方案创建单元测试和测试项目,但是将单元测试功能和IDE集成起来更好。
为JavaScript设计的智能感知是VS2008一个大的进步,但是代价很高,尽管已经增加了用来写ASP.Net AJAX 和Silverlight页的JavaScript的支持,然而用来编辑VBScript,以及Classic ASP的支持却被抛弃了。因为我仍然保持了一个1999 vintage Classic ASP站点,当发现VS2008处理ASP网页做得比VS05还差时,或者比Visual InterDev 6还差时,真是让人非常恼火。据说微软正在考虑恢复此功能,为VS2008提供一个服务包。同时,仍然保持Classic ASP站点的人们不应该放弃它们现有的工具。
WPF, Silverlight和 Web 2.0
VS2008支持带有一个分隔面板的WPF设计,调试器支持和为C# 以及Visual Basic 而设计的WPF项目模版。微软称:WPF支持用户界面(UI)、媒体、文档、硬件升级、向量图形、不同形式因子的可测量性、交互的数据可见性、优越的内容可读性。WPF图表制法由XAML(XAML是XML的分支)定义。隔面板 WPF设计者在一个方格中使用GUI,而在另一个方格中使用XAML,只要你没有将错误引入到XAML,就可以双向同步化两者(GUI和XAML)。
只要为VS2008安装了Silverlight SDK 和Silverlight Tools ,VS2008 支持 Silverlight,Silverlight是一个丰富的因特网应用程序技术,此因特网应用程序技术包括WPF的一个子集。我曾使用VS2008测试版开发Silverlight应用程序,并且取得好的效果。
VBScript 和 Classic ASP被抛弃的支持带来异常,VS2008中网页设计图面比VS05中的更好,它与Expression Web很相似,并且很好地支持CSS。在VS05中,为ASP.Net AJAX, Windows Communications Foundation以及Windows Workflow Foundation设计的设计图面和项目都是免费的,都已经转移到了基础VS2008产品中。
Office和智能设备目标
Office (VSTO)的Visual Studio Tools已经被融合到了VS2008专业版本,以及更高的版本中,以前它是一个单个的产品,卖价是799美元。现在VSTO支持C# 和 Visual Basic中Office 2007 和Office 2003的所有组件。
VS2008可以为四个目标平台创建托管 Smart Device,而且在C# 和 Visual Basic 中,VS2008可以创建.Net Compact Framework的两个版本。在C++中,使用Win32, ATL(活动模板库)和MFC(微软基础类库)库,VS2008可以创建非托管 Smart Device项目,过去这个功能存在于分开的Windows CE工具箱中。
其他
ClickOnce部署被增强了,以此涵盖了WPF Web Browser应用程序。提高ClickOnce部署允许ISVs重新签名应用程序宣告,在UAC下生成宣告。ClickOnce是微软安装程序一个更轻量级的选择,微软安装程序允许从网站部署自我更新的台式机应用程序。
Microsoft SQL Server Compact 3.5是一个新的本地数据库,此本地数据库非常小,能够部署在小的设备上。开发者能在独立的以及偶然连接的方案中使用它。当SQL Server Compact用于本地数据库缓存时,ADO.Net的微软同步服务处理本地Compact数据库和远程数据库之间的周期同步化。
如果测试了Team Foundation Server(TFS )安装,Visual Studio可以集成它。这允许程序员接受工程项目,执行签入,也允许管理员提出报告。
Team System取得了许多改进。TFS一方面创建了新的Team Build系统,另一方面是Web的存取。建筑师有一个新的自上而下的系统设计,还有一个建筑设计的角色系统。开发者拥有我先前讨论的新的代码指标系统,也是更好的代码分析和性能工具。DBAs 拥有 T-SQL代码分析,数据生成器和重构工具。测试者有更好的工具和确认规则,包括一个测试负载代理.
Visual Studio有一个独立软件推销商的活动生态系统。大部分推销商生产插件和控件(这些控件提高Visual Studio)。这样使该生态系统更加健康,因为它允许ISVs更有竞争力,微软的花费也相对少一些。
总结
总的来说,Visual Studio 2008进行了很大的改变,同时也是为了与新技术(WPF, WCF和 WF,)一起发展。为了开发新平台(如Windows Vista),许多面向微软的开发商也定会想取得此新技术。然而,要想取得这项新技术可不是那么容易的,一旦项目本身已经成功地更新了,大部分开发商在项目上就会更新所有的开发者。
对于仍然保持了Classic ASP站点的公司,在Classic ASP以及VBScript编辑功能恢复了之前,建议一起安装VS2008和VS2005。因为已经感知到的VS2005的问题,对于那些仍然使用Visual Studio .Net 2003或者是更老的版本的公司, VS2008是更好一点的选择。
Visual Studio用户的水平是参差不齐的,但他们都发现Visual Studio 2008发行版被改进了,它很少出现异常情况。对于开发人员来说,这是一个强大的更新,而且为未来开发技术的发展提供了一个可靠的基础。
网友评论