昨天晚上,微软在正式发布Windows 8.1的同时,也同时发布了Visual Studio 2013产品系列的正式版。
Visual Studio 2013产品系列和2012类似,同样包含了如下版本:
所有版本(包括收费版和免费版)都可以从这里下载到: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呢?因为我们正在开发一个新产品,估计到年底才发布第一个版本,如果用最新的版本,那么等我们发布的时候就是基于最新平台的了)
先说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的,所以不会展开详细讲,后面我会在博客或者社区活动中详细讲解。
RC发布之后,我就马上对Preview升级。其实我的做法是重装了TFS的操作系统,再安装TFS 2013 RC,并配置连接到之前的Preview数据库上,结果在升级数据库的过程中报错了。出错的原因可能是之前我重装过数据库服务器,没有正确恢复分析服务和分析数据库。
还算进行了备份,就恢复数据库,并在重新配置TFS的时候,没有选择分析服务器的配置,就成功了。所以升级TFS一定要备份数据库。
过一会就打算去把TFS 2013 RC升级到RTM了。
在TFS 2013最大的改变,除了支持Git就是加强看板功能、新增Portfolio(Feature)Backlog,以及团队聊天室了。支持的Scrum模板已经是3.0了。
看板功能增强后,查看任务和燃尽图更加方便;有了Feature Backlog后,可以把Backlog更好的进行层级划分了;有了团队聊天室,和远程的队友沟通无障碍了。
在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提供的登录验证代码进行了简单封装,移植起来不是太费事。
以上的使用经验只是我的一些零碎的总结,下面有更加完整和系统的新功能介绍:
Visual Studio 2013 中的新增功能
Visual Studio 2013 Web开发
Entity Framework 6
其实和VS 2013一起更新,还有一个东西值得一提,就是Entity Framework 6,这是一个听取了社区大量意见,有着很多新增功能的第一个开源版本。后面有时间且有一些心得之后再和大家分享。