第一时间感受VS2005(四)

编程爱好者

一、部署中的新功能

单击部署:单击部署(图1)可以让你部署自动升级的Windows应用程序,这些应用程序的安装和运行就像Web应用程序一样简单。你还可以部署Windows客户端和命令行应用程序。在工程菜单中,有一个新的“发布工程”命令可以调用这个功能。在单击部署中,你可以根据自己的需要选择发布的位置,需要发布的文件,更新选项等等。

50-bc06.jpg
图1 单击部署

部署预需求组件:为了成功的部署一个应用程序,你必须同时部署应用程序使用的所有组件(图2)。比如,大多数用Visual Studio创建的应用程序依赖于.NET框架。在应用程序安装之前,一个合适版本的公共语言运行时必须先部署在目标机器上。在Visual Studio 2005中,新的配置工具可以让你将.NET框架或者是其他的组件作为你的安装程序的一部分。

50-bc07.jpg
图2 选择你的应用程序需要的组件

Windows Installer部署 安装和部署工程的改进还包括可以选择在每个用户之间或者是每台机器之间安装,支持64位的部署,以及部署到有多个网站的Web服务器上。

二、调试器中的新功能

我们写程序的时候,不可能每次都正确无误。当我们要找到程序运行时的问题时,我们就需要对程序进行调试了。Visual Studio 2005已经为我们的调试工作做好了准备。在Visual Studio 2005中,各种新的调试利器,有助于开发人员快速定位错误并进行修正,提高开发效率。

Visual Basic和Visual C#中的即编即调

当你在调试你的Visual Basic或是Visual C#程序的时候,你可以重新编辑你的代码然后继续运行你的程序。这个功能通过让你快速地改正错误,测试新功能和修改已有的功能来提高你的开发效率(图3)。

50-bc09.jpg
图3 Visual Studio 2005的调试状态

更加安全的远程调试

不需要复杂的安装说明和注册,只需要通过简单地复制一个可执行程序到远程机器上,就可以设置好远程调试。在Visual Studio 2005中,远程调试更加安全和健壮。另外,你还可以调试64位托管或非托管应用程序。增强远程调试功能对团队开发,非常有实用价值。

观察器

观察器(图4)是Visual Studio 2005中的调试器用户界面的一个新组件。一个观察器创建一个对话框或者是其他的界面来显示一个值或者是一个对象。根据这些值或者对象的类型,观察器会提供非常丰富的相关信息。例如,一个HTML观察器可以解释HTML语句并且将结果显示出来,就像他们在浏览器窗口中显示一样;一个位图观察器(图5)可以解释一个位图结构并且将它描述的图像显示出来。另外,一些观察器还可以让你在查看数据的同时编辑数据。在你调试的时候,某些变量的数据提示或者QuickWatch窗口会有放大镜图标出现,点击放大镜图标,你就可以调用相应的观察器。

50-bc11.jpg
图4 观察器
50-bc12.jpg
图5 图像观察器

增强的调试数据提示

在Visual Studio系列产品中,调试器的数据提示功能历来被广大开发人员所喜爱。在Visual Studio 2005中,调试器的数据提示功能(图6)得到了改进。在调试的时候,数据提示提供了一个便利的方法来查看你程序中的变量的信息。在Visual Studio的以前的版本中,数据提示能够显示的信息的数量是有限的,而在Visual Studio 2005中,改进的数据提示功能比以前更加便利和强大,可以查看复杂的数据类型。使用数据提示,你可以在复杂的数据结构之间导航,你也可以打开一个观察器,以更加直观,更加自然的方式查看你的数据。

50-bc14.jpg
图6 用数据提示查看复杂数据类型

跟踪点和改进的断点用户界面

断点不再是仅仅用于中断程序的执行了。跟踪点是断点的一种新用法,它可以在断点的基础上执行一些用户自定义的动作。使用跟踪点,你可以打印一个消息,或是运行一个Visual Studio宏,并且,当调试器遇到一个跟踪点的时候,你可以决定调试器是中断还是继续执行。同时,改进的断点用户界面,也可以让用户更加简单快速地设置所有断点。

Visual Basic,C#和Visual J#的异常助手

在Visual Basic,C#和Visual J#程序中,当一个异常发生的时候,新的异常助手将提供有关这个异常的更多信息,而这些信息可以帮助开发人员更加简单快速地定位异常发生的位置,原因并且修改错误。

设计时调试

在Visual Studio 2005中,你可以在设计Visual Basic, C#或 Visual J#应用程序的时候就对它们进行调试。使用即时(Immediate)窗口,只需要在窗口中输入调试命令,而不用运行你的应用程序就可以测试你的函数和方法。