微软Visual Studio2008的基本情况
Visual Studio一直是广大程序员所关注的重要的软件开发平台。目前,大家可以从微软网站下载Visual Studio2008bate2版本。此次大会中,微软.NET咨询顾问周敏向大家介绍了微软Visual Studio2008的基本情况和开发语言的增强等情况。
功能上的增强
目前,微软的Visual Studio团队、SQL Server团队、Office团队都在使用Team Foundation Server进行企业级的应用开发。Visual Studio2008的设计目标主要有3点:提高开发效率、在开发过程生命周期中使团队成员能够更好的协作、能够开发基于微软最新技术的一些应用。Visual Studio2008支持.NET framework3.5,并且对以前.NET framework版本进行支持。同时,在VB3.5和C#3.5中加入了对LINQ的支持。LINQ使用户能够使用VB和C#编写出类似于SQL语句这样的指令,使得开发语言和数据库语言彼此能够结合起来。以前的SQL语言检索能力很强,但是并不擅长进行复杂的运算。现在VB和C#能够获取数据,并且能够对数据进行复杂的运算。这也是在Visual Studio2008中引入LINQ技术的原因。
在软件过程管理中,Visual Studio2008引入了CODE MATRIX,可以测量代码的复杂度,对代码的性能进行定量的分析,从而对代码的优劣有一个比较深入的了解。此外,在Visual Studio2008中引入了新的负载测试的模型、界面和报表。更重要的是,还有一个连续集成的构建,例如,一个企业有一个开发主
线,还有很多开发分支。假定每个开发分支都是其中的一个功能点,当功能点开发完成以后,需要合并到开发主线,在对开发主线进行合并操作的时候,Visual Studio2008能够自动进行团队构建,并且给出构建的结果。而在Visual Studio2005时,需要进行很多手工操作。
WPF是微软最新的表示层框架,可以使用户在开发应用程序时,所有的界面都是统一的。WPF具有非常强的3D处理效果。
语言上的增强
在Visual Studio2008的C++语言当中,MFC可以支持Vista的通用控件。Visual Studio2008还支持智能感应,除此以外,对于AJAX引入了很多扩展控件,从
而可以快速开发ASP.NET AJAX的应用。新的Vista SDK中包含大量的非托管API。UAC(用户访问控制)是Vista的一种访问控制机制,主要是防止病毒对系统的破坏。
Visual Studio2008中的VB语言不但可以获取数据,并对数据进行复杂的运算。此外,对XML的处理也更加方便。同时,VB集成开发环境的开发效率有了大幅度提高,变得更加智能。Visual Studio2008整合了对象、关系型数据、XML的访问方式,语言更加简洁。
高效开发
使用Visual Studio2008可以高效开发Windows应用。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时Visual Studio2008支持项目模板、调试器和部署程序。使用Expression交互式设计器可以无缝集成设计人员与开发人员的工作流程。
Visual Studio2008可以高效开发Web应用,集成了ASP.NET AJAX1.0,包含ASP.NET AJAX项目模板。此外,它还可以高效开发Office应用和Mobile应用。
什么是LINQ
LINQ是一种用来进行数据访问的编程模型,使得.NET语言可以直接支持数据查询。LINQ的目标是降低访问数据的复杂度。LINQ可以用统一的方法访问不同类型的数据,可以将数据作为对象使用,能够更好地与编成模型集成,可以在Visual Studio 中进行智能提示。
LINQ可以为SQL Server提供对象到关系的映射。此外,LINQ可以将单个类映射到多个表或视图,可以进行存储查询和实体查询
Visual Studio2008可自动执行WCF手动任务,包括更新代理引用和消除重复任务(例如创建简单托管项目)。Visual Studio还能解决跨目标和数据协定类型共享等一些困难问题。在本专栏中,我将逐步介绍其新功能及优势,并对其任何缺陷和解决方法做出解释。尽管我将在此使用C#项目设置,但除非我另行说明,否则所有设置同样适用于Visual Basic®。
.NET Framework跨目标
Visual Studio的早期版本通常针对随其一起提供的.NET Framework版本。例如,Visual Studio2005只能生成针对.NET Framework2.0的程序集,而此惯例并不能反映大多数开发人员所面临的真实情况。通常,开发人员需要在维护针对早期版本的.NET而编写的旧版应用程序的同时,还要在其新版应用程序中使用新版Visual Studio。
此外,此惯例还意味着开发人员在维护为早期版本的.NET Framework而编写的应用程序时,无法从效率增强功能(例如Visual Studio2005中引入的代码重构支持)中获益。
问题在于.NET Framework各版本不支持跨目标功能。您要么必须安装多个版本的Visual Studio,要么使用独立的测试和部署内部版本进行补偿。Visual Studio2008尝试通过为多个版本的.NET Framework提供充分支持(虽然不完美)来解决这一问题。由于实际上.NET Framework3.0和.NET Framework3.5使用的CLR版本与.NET Framework2.0使用的相同,唯一的区别在于新引用的程序集,因此Visual Studio仍可针对相同运行库,而为.NET Framework版本2.0、3.0和3.5(其中.NET Framework版本号对应的是发行版本,而不是运行库版本,运行库版本仍为CLR2.0)提供跨目标功能。
在Visual Studio2008中,“Properties”(项目)的“Application”(应用程序)窗格包含一个称为“Target
Framework”(目标框架)的新组合框,通过该组合框您就可以针对.NET Framework版本 2.0、3.0和 3.5(参见图1)。
图1Visual Studio2008中的目标框架属性(单击该图像获得较小视图)
图1Visual Studio2008中的目标框架属性(单击该图像获得较大视图)
Target Framework值仅在开发时有效,而在运行时无效(您的程序集仍指
向.NET2.0CLR)。您选择的值表示您构建程序集时可针对的.NET Framework的最早版本。新项目默认被配置为针对.NET Framework3.5。如果添加引用,则会变得有些复杂;如果在引用较高版本程序集时,降低Target Framework版本,Visual Studio2008将提示您引用出错和内部版本失败。Visual Studio2008不允许您向其所需Framework版本高于现有项目的.NET Framework程序集添加引用。如果您向版本更高的同一解决方案中的其他项目添加引用,Visual Studio2008将警告您可能会发生冲突。如果通过浏览程序集来添加引用,Visual Studio2008将不会干预您进行操作。
在语言和跨目标方面,请注意,您可以在C#中(而不是Visual Basic中),通过限制编译器版本来限制使用.NET Framework2.0或 3.0项目中诸如匿名类型和扩展方法等功能。您可以转至“Build”(内部版本)窗格,然后单击“Advanced”(高级)按钮,并选择“ISO-2(C#2.0)”作为语言版本(而不是尚未标准化的默认版本)来执行此操作。
在Visual Studio2008中打开Visual Studio2005WCF项目时,升级过程中框架版本保持为 2.0。实际上这可以正常运行(请记住,基础运行库版本并未改变),但我建议根据需要手动将其设置为版本 3.0或 3.5。
使用新项目模板时,Target Framework版本是最重要的因素。WCF工作流和整合项目必须针对.NET Framework3.5进行构建;Service Library项目要求针
visual studio和vs code的区别对.NET Framework3.0或 3.5。“Add Service Reference”(添加服务引用)功能仅当为项目选择Framework版本 3.0或 3.5时可用,本专栏稍后将介绍此功能。
WCF提供的主机
Visual Studio2008附带了一款名为的现成的通用服务主机。它位于C:\Program Files\Microsoft Visual Studio9.0\Common7\IDE中。为了方便使用,我建议将该位置添加到系统的Path变量中。WcfSvcHost是一种简单的命令行实用工具,可接受两个参数:一个是指向包含一个或多个服务类的.NET程序集的文件路径,另一个是指向托管.config文件的文件路径。例如:
指定的服务程序集可以是类库程序集(DLL),也可以是应用程序程序集(EXE)。WcfSvcHost将启动一个新进程,该进程将自动托管指定.config文件的服务部分中列出的所有服务类。请注意,这些服务类及其服务约定和数据协定不必是公共类型,可以是内部类型。此外,自动托管的服务不需要提供任何元数据,但是它们可以发布元数据(如果选择发布)。
WcfSvcHost是一种以桌面任务栏图标驻留的Windows窗体应用程序。若要关闭主机,只需从任务栏图标上下文菜单中选择“Exit”(退出)即可。使用这种方式终止托管不太妥当,因为WcfSvcHost将中止
当前正在进行的所有调用,客户端很可能会收到异常。如果单击WcfSvcHost任务栏图标,将出现一个对话框,其中列出托管的所有服务(参见图2)。
图2WcfSvcHost服务列表(单击该图像获得较小视图)
图2WcfSvcHost服务列表(单击该图像获得较大视图)
该对话框还显示服务的状态及其元数据地址,您可以将这些信息复制到剪贴板,稍后向服务添加引用时可能会用得到。关闭WcfSvcHost UI只是将其折叠回任务栏。
WcfSvcHost的目的就是在开发过程中不再需要使用独立托管程序集来配合服务库。诸如托管项目等的开发工作是一种重复任务,这些主机通常包含大量相同的代码行,当有多个服务库时,这些重复代码容易导致解决方案变得臃肿。为了便于开发和测试,可以将WcfSvcHost直接集成到您的Visual Studio2008服务库项目中。在项目属
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论