微软Visual Studio 2008中(VS08)是该公司的长期的IDE线的当前版本。这对发展与Microsoft .NET Framework的应用程序的首选IDE和,至少,对于最好的Windows托管的C / C ++ IDE的有力竞争者。当然,Visual Studio 2008中不限于开发桌面应用程序;它也适用于开发Web,SOA和设备应用程序。
VS08有一系列版本,从免费的Express版本到$10,000的does- Visual Studio Team System 2008团队套件。基本上,快速版本是为初学者、学生和业余开发者准备的;标准版是为个人开发人员;专业版是为高级开发人员和那些工作在小团队。
团队系统主要是为更大的团队。有开发人员,架构师,数据库管理员和测试人员团队系统客户端,以及联合客户端名为Team Suite的所有角色。团队系统服务器的Team Foundation Server(TFS),它结合了一个团队入口,版本控制,工作项跟踪,构建管理,流程指导以及商务智能。
在本文中,我将重点介绍VS08专业版的特性,并介绍Team Suite的一些亮点。我不想讨论Team Foundation Server本身,尽管它已经获得了许多增强,比如一个新的团队构建系统和Web访问,自从我们上次回顾它以来。
安装和测试
进行审查的目的,我使用VS08三个安装:在Windows Vista安装专业版采用的Expression Web和Expression Blend以及用于基于x64的笔记本电脑;安装与Visual Studio 2005(VS05),无法获得TFS沿着Windows XP桌面上的Team Suite的;并安装在与TFS一起在Windows Server 2003虚拟PC团队套件。所有这些版本的第九天试用版可以从微软的网站。
我在我的考验和艰辛安装Team Suite的一些长度都在博客中。这些都不应该影响你,除非你尝试从一台机器,也有VS05卸载VS08;不过,在你开始之前,你的安装可能是明智使你的系统映像备份。期望VS08安装需要几个小时,与一个手动干预需要启动的文档安装步骤。
我几乎整天跑VS08团队套件我的XP桌面上,每周5天,数周,并试图将它用于所有的开发工作。我也通过一些与专业版的Vista的笔记本电脑单独开发方案运行,并在团队套件模拟了一些团队开发方案/ TFS虚拟PC。有一点要注意:如果您在Windows Vista上安装使用用户帐户控制(UAC)功能,准备,直到所有所需的目录已经创建运行VS08作为管理员几次;在那之后,它应该是完全UAC兼容。
引入.NET Framework 3.5的
VS08是Visual Studio中的第一个版本支持.NET Framework 3.5的。它也是第一目标.Net框架(2.0,3.0和3.5)的多个版本。以前的Visual Studio版本仅支持一个版本的.NET框架,迫使开发商要么保持Visual Studio的多个版本,要么将所有项目更新到.NET Framework的最新版本。多目标是一个值得欢迎的提高;它包含在标准版及以上。
我想微软已经在这个方向上走得更远一点。这太糟糕了,微软并没有也提供了.NET Framework 1.1和VS08,VS05和Visual Studio .NET 2003中项目之间方便的双向转换目标。
. net Framework 3.5有许多新的类库和语言特性。这些包括语言集成查询(LINQ)、Web 2.0和与soa相关的增强、集成工作流、对等协议和Microsoft Office支持。
所有这些模具在VS08中找到。因此,例如,VS08标准及以上的有在Visual Basic .NET LINQ支持和Visual C#中,包括对象关系设计中,SQLMetal命令行工具,LINQ感知的代码编辑器和调试器支持。
使用LINQ集成语言的查询
LINQ是一个具有许多可能组件的通用机制。LINQ将数据查询引入到c#和Visual Basic语言中,并使针对内存数据结构的查询语法就像针对文件系统、XML文件和SQL数据库的查询一样。
几个LINQ组件和提供商运VS08,其中包括LINQ到对象(字符串,反射和文件目录)的LINQ to XML,和LINQ to ADO.Net的。LINQ到ADO.Net包括两个组件:LINQ到DataSet和LINQ到SQL。更为雄心勃勃的ADO.Net实体框架和LINQ到实体不包括在VS08,但可能会在今年晚些时候上市作为一个附加的。
我在一个SQL Server 2000数据库上测试了c#中的LINQ to SQL。
对象关系设计器可以很好地从数据库模式创建c#类,而IntelliSense在我编写LINQ查询时也很好用。另一方面,在三个相关的表上手工编写LINQ查询扩展了我初生LINQ技能的极限,我渴望有一个与VS08的图形SQL查询设计器相当的LINQ。我一直不知道如何编写LINQ等价于SQL“SELECT DISTINCT”查询。
智能感知,重构,单元测试,和指标
当我在做这个小项目,我发现C#重构功能(包括在专业及以上)运作良好,比较顺利。当编辑C#,程序员可以利用自动重构。没有为LINQ完整的IntelliSense支持。代码度量只计算托管代码。
我还发现,托管代码的代码度量(包含在VSTS开发者和团队套件)得不错。我不知道,我与度量从设计表面生成的代码计算方法达成一致,但我肯定可以看到指标的整体效用,尤其是在TFS管理团队项目的背景下。
几年前,我使用圈复杂度(度量通过一个程序模块的线性独立路径的数量)等指标来帮助我管理一个有十几个程序员参与的大型C项目。我很高兴在VS08中为托管代码引入了这项技术。
但我感到失望的是,代码度量和代码重构不适用于非托管C ++项目。在另一方面,C ++项目可以使用一个非常好的通话浏览器:它给你的那叫一个给定函数的其他功能的紧凑视图,以及代码做呼叫的线路。
我很高兴,Visual Basic中的项目有一个非常简洁的语法,巨大的智能感知,和许多代码片段一起代码度量。我很失望,Visual Basic中的项目没有代码重构,尽管这个功能可以通过几个第三方插件,一个被添加。
我很高兴地报告,现在单元测试是专业版的功能。(这是一个VSTS中VS05功能。)您可以创建单元测试和测试项目,C#,Visual Basic和托管C ++解决方案。这是可以使用免费的开源计划的NUnit之前,要做到这一点,但它具有与该IDE集成的单元测试能力更好一点。
智能感知为JavaScript是在VS08承诺的改进之一。它的存在,但有代价的:虽然排序的JavaScript支持,用来编写ASP.Net AJAX和Silverlight的网页已经被添加,编辑VBScript和经典ASP的支持已被删除。由于我仍然保持1999年的复古经典的ASP网站,我更比有点恼火地发现VS08做了与ASP页面比VS05,甚至小于的Visual InterDev 6.微软更糟糕的工作正在考虑恢复该功能的服务包到VS08。同时,人们谁仍然保持传统的ASP网站不应该放弃自己现有的工具。
WPF,Silverlight和Web 2.0的
VS08支持的Windows Presentation框架(WPF)与拆分窗格WPF设计,调试器支持,并为C#和Visual Basic WPF项目模板。WPF“支持UI,媒体,文件,硬件加速,矢量图形,可扩展性,以不同的形式因素,交互式数据可视化,以及卓越的内容可读性,”根据微软。WPF图形由XAML,XML的扩展定义。拆分窗格WPF设计使用在另外一个窗格和XAML的GUI和双向只要你不将误差引入XAML同步两个。
VS08支持Silverlight的,丰富的互联网应用技术,包括WPF的一个子集,一旦你安装Silverlight的SDK和Silverlight的工具VS08。我有很好的经验,发展与VS08测试版的Silverlight应用程序。
随着的异常下降VBScript和经典ASP的支持,在VS08网页设计表面比VS05的更好;这是非常相似的Expression Web,并支持CSS很好。设计的表面和项目ASP.Net AJAX的Windows Communications Foundation和Windows工作流基础,这是免费的附加软件来VS05,已移至底座VS08产品。
办公室和智能设备的目标
Visual Studio工具用于Office(VSTO)已合并到VS08专业版及以上;它以前是一个单独的$ 799的产品。VSTO现在支持Office 2007和Office 2003在C#和Visual Basic的所有组件。
VS08可以为四个目标平台和两个版本的。net紧凑框架c#和Visual Basic创建托管智能设备项目。在c++中,VS08可以使用Win32、ATL (Active Template Library)和MFC (Microsoft Foundation Class)库创建非托管智能设备项目;该功能以前在单独的Windows CE工具包中。
什物
ClickOnce部署已得到增强,包括WPF Web浏览器应用程序。这也得到了增强,使ISV能够重新签署应用程序清单,并UAC下生成清单。ClickOnce是一个重量更轻的替代微软安装程序从一个网站让自我更新的桌面应用程序部署。
Microsoft SQL Server Compact 3.5是一个新的本地数据库,它足够小,可以部署到智能设备上。开发人员可以在独立的和偶尔连接的场景中使用它。当SQL Server Compact用于本地数据库缓存时,Microsoft同步服务用于ADO。Net负责本地紧凑数据库和远程数据库之间的定期同步。
如果检测到Team Foundation Server安装,Visual Studio可以与之集成。这允许程序员接收工作项并执行签入,而经理生成报告。
团队系统有许多改进。TFS的一个大项目是一个新的团队构建系统;另一个是网络访问。架构师有一个新的自顶向下的系统设计器和一个架构角色系统。开发人员拥有我前面讨论过的新的代码度量系统,以及更好的代码分析和性能工具。dba拥有T-SQL代码分析、数据生成器和重构工具。测试人员拥有更好的工具和验证规则,包括测试加载代理。
Visual Studio有一个由独立软件供应商组成的活跃生态系统。大多数厂商都生产增强Visual Studio的插件和控件。新的Visual Studio Shell允许这些厂商发布其产品的独立版本,而不需要客户购买Visual Studio本身。我赞赏微软的这一举动:我认为它使这个生态系统更加健康,因为它允许isv以相对较小的成本更具竞争力。
总的来说,Visual Studio 2008是大多数面向微软的开发机构希望进行的升级,以便使用WPF、WCF和WF等新技术以及Windows Vista等新平台进行开发。然而,这不是一个容易零敲碎打的升级;我建议大多数商店在项目本身升级成功后升级项目上的所有开发人员。根据我的经验,将项目从VS05升级到VS08相当轻松,几乎不涉及代码重写。
对于那些仍然维护经典ASP站点的商店,我建议安装VS08和VS05,至少在经典ASP和VBScript编辑功能恢复之前是这样的。对于仍然使用Visual Studio . net 2003或更老版本的商店,因为VS05存在明显的问题,我建议认真评估VS08。
除了少数例外,Visual Studio中的各个层次的用户会发现,2008年发布的提高。这是一个强大的升级,并为未来的发展奠定了坚实的基础。
了解更多关于这个话题
这个故事,“Visual Studio 2008进步很少失误”最初是由InfoWorld的 。