Visual Studio 2013 发布正式版及使用感受

(注意:文末我添加了一个小节,用来更新最新的一些使用感受。)

昨天晚上,微软在正式发布Windows 8.1的同时,也同时发布了Visual Studio 2013产品系列的正式版。

版本情况

Visual Studio 2013产品系列和2012类似,同样包含了如下版本:

  • 收费版:
    • Microsoft Visual Studio Ultimate 2013:Visual Studio Ultimate 2013 是一个先进的开发解决方案,各种规模的团队通过它均可设计和创建引人注目的应用程序,使用户兴致勃勃。
    • Microsoft Visual Studio Premium 2013:Visual Studio Premium 2013 是一个集成开发环境,其中包括可供开发团队规划、开发、测试和操作应用程序的先进工具。
    • Microsoft Visual Studio Professional 2013:Visual Studio Professional 2013 是一个具有专业品质的集成开发环境,可简化为 Windows、Windows Phone、Office、Web 和云创建、调试和部署应用程序的任务。
    • Microsoft Visual Studio Test Professional 2013:Visual Studio Test Professional 2013 将测试人员和其他利益干系人纳入到开发工作流中,使他们能够与开发人员进行上下文协作。
    • Microsoft Visual Studio Team Foundation Server 2013:Visual Studio Team Foundation Server 2013 是一个处于 Microsoft 应用程序生命周期管理 (ALM) 工具套件核心部位的源代码管理、项目管理和团队协作平台,可帮助团队更加灵活、更有效地进行协作和更连贯地交付高质量的软件。
  • 免费版:
    • Visual Studio Express 2013 for Web:Visual Studio Express 2013 for Web 提供用于创建新颖而引人注目的 Web 应用程序和服务所需的核心工具。
    • Visual Studio Express 2013 for Windows:Visual Studio Express 2013 for Windows 提供生成新颖而引人注目的 Windows 应用商店应用程序所需的核心工具。
    • Visual Studio Express 2013 for Windows Desktop:在 Visual Studio Express 2013 for Windows Desktop 中,可用 C#、Visual Basic 和 C++ 创建桌面应用程序,并且该软件支持 Windows Presentation Foundation (WPF)、Windows 窗体和 Win32。
    • Visual Studio Team Foundation Server Express 2013:Visual Studio Team Foundation Server Express 2013 是一个处于 Microsoft 应用程序生命周期管理 (ALM) 工具套件核心部位的源代码管理、项目管理和团队协作平台,可帮助个人和小型团队更加灵活、更有效地进行协作和更连贯地交付高质量的软件。

所有版本(包括收费版和免费版)都可以从这里下载到:http://www.microsoft.com/visualstudio/chs/downloads,也包括语言包。不过免费的Windows Phone的开发还是暂时提供2012的版本(难道是要等WP8.1才提供2013的Express版本?)。

VS 2013要求使用Microsoft Account登录,对于收费版也可以不登录而选择录入序列号。如果登录收费版,会验证登录的账号是否具有相应的MSDN订阅权限。

另外,登录后还会提示你创建相应的TFService账号(也提供了免费使用限额)。

登录有一个最大的好处,就是在所有机器上同步你的IDE设置。这个功能真是太好了,之前我升级VS后,总是要导入前一个版本的配置文件。现在机器中都还有2005的配置文件备份呢。

根据我的实测(在云服务器安装,方便Surface RT远程连接,以实现拿着Surface RT出差也能写代码的目的),免费版(即Express)可满足日常的所有开发需求,比如基本的代码编写调试、单元测试、连接TFS包括Git源代码资源库。和正式版比起来,我的实际使用情况只是不能安装Resharp。

所以,对于小型团队而言,完全可以免费使用VS+TFS(或TFService)的全套工具来完成开发工作,这对于创业团队而言非常适合。

使用感受和经验

由于我从Preview版本就开始使用在我们公司的正式开发环境中,所以整体谈谈感受。

(可能有人问,什么用Preview呢?因为我们正在开发一个新产品,估计到年底才发布第一个版本,如果用最新的版本,那么等我们发布的时候就是基于最新平台的了)

Git的支持让分布式开发如虎添翼

先说TFS,在2012的时代,由于我们涉及到兼职人员的外部协作,所以我就改用微软提供的TFService,用起来没有大碍,不过由于微软的服务器在国外,速度感觉稍慢。在TFS 2012 Update之后,TFService首先提供了Git源代码管理功能,不过当时没有马上采用。

后来考虑速度原因,并兼顾外部协作,还是在办公室的服务器上安装了TFS 2013 Preview,选用Git创建了项目,并配置VPN供内部开发人员连接,且在公司外部服务器安装了Git Server供外部开发人员连接。我自己则为资源库设置两个Remote地址,进行两个Git服务器的同步。当然VS 2013只识别且只能操作名为origin的Remote地址,且origin必须符合TFS的地址规范才能获得TFS集成功能。

使用过程中,出现push代码不成功,报服务器资源不存在某个路径,估计是Preview版有Bug,不过由于是Git,这个问题很轻易就被我解决了,就是在TFS上把原有的Git资源库改名,然后再创建同名的Git资源库,把源代码从本地push回服务器,最后删除出错的Git资源库。这个就是Git的好处,如果是TFVC或者SVN的话,只有傻眼了。后来升级到RC就没有出过类似问题。

从RC升级到RTM后,VS对于Git的集成的支持稍微有点增强,比如新增了“未同步的提交”等功能,操作菜单也丰富了一点。当然这篇文章不是专门介绍TFS Git的,所以不会展开详细讲,后面我会在博客或者社区活动中详细讲解。

升级TFS有惊无险

RC发布之后,我就马上对Preview升级。其实我的做法是重装了TFS的操作系统,再安装TFS 2013 RC,并配置连接到之前的Preview数据库上,结果在升级数据库的过程中报错了。出错的原因可能是之前我重装过数据库服务器,没有正确恢复分析服务和分析数据库。

还算进行了备份,就恢复数据库,并在重新配置TFS的时候,没有选择分析服务器的配置,就成功了。所以升级TFS一定要备份数据库。

过一会就打算去把TFS 2013 RC升级到RTM了。

用TFS进行敏捷开发如鱼得水

在TFS 2013最大的改变,除了支持Git就是加强看板功能、新增Portfolio(Feature)Backlog,以及团队聊天室了。支持的Scrum模板已经是3.0了。

看板功能增强后,查看任务和燃尽图更加方便;有了Feature Backlog后,可以把Backlog更好的进行层级划分了;有了团队聊天室,和远程的队友沟通无障碍了。

Web开发更上一层楼

在VS 2012上开发是ASP.NET MVC,用的是4.0版本,在VS 2013上使用的是MVC 5.0。4.0和5.0虽然差别没有多大,不过登录验证功能和模板都有较大改变。

在VS 2012中MVC的模板使用的样式是一个微软自己定制的,在使用VS 2012开发我们产品演示版本的时候,我就使用了类似Twitter.Bootstrap这样的NuGet包来支持Bootstrap 2.0。

VS 2013 Preview和RC模板已经内置了Bootstrap(2.2),视图也采用了Bootstrap的class等。可惜RC刚发布几天,Bootstrap 3.0就正式发布了,我只好手动对视图所用的class进行调整(还算那个时候项目的视图文件不多)。

在VS 2013 RTM中,不仅内置了Bootstrap 3.0,而且视图class已经兼容3.0了。

再说说登录验证功能,这里重点是窗体验证。

在VS 2012中,采用的是WebMatrix/WebPages的验证方式,即是SimpleMembership。在VS 2013中,改用了和Owin兼容的全新验证基础架构,且支持EntityFramework来创建数据库。

当然,这部分功能Preview、RC和RTM都一直在改变,之前我把登录的代码从Preview移植到RC,今天又把RC移植到RTM。RC到RTM,主要修改了模型类的名称,比如User变为IdentityUser,并删除了一些类,进行了简化和优化。不过,我对MVC 5提供的登录验证代码进行了简单封装,移植起来不是太费事。

相关介绍和新闻

以上的使用经验只是我的一些零碎的总结,下面有更加完整和系统的新功能介绍:

其实和VS 2013一起更新,还有一个东西值得一提,就是Entity Framework 6,这是一个听取了社区大量意见,有着很多新增功能的第一个开源版本。后面有时间且有一些心得之后再和大家分享。

更新

2013-10-20,MVC 5最新引用没有自动更新,现在MVC 5的程序集都通过NuGet包来提供(因为开源了)。如果是从Preview或RC升级为RTM,那么MVC 5的项目要注意一下和MVC相关的程序集是否还是引用着MVC 4.0的,你需要手动切换到5.0的NuGet包。

上一篇:见证历史 -- 2013 NBA 热火夺冠之路有感


下一篇:ReactNative中全面屏的适配