我们举行的庆祝多年来微软最大的开发工具发布的全球发布会尚记忆犹新。当时我讲过关于它支持Windows 7, Windows Azure, 和Windows Phone 7平台的能力,讲过能使开发人员工作更有效率的功能和改进,以及我们在面向团队的应用程序生命周期管理工具中所做的强有力的改善。在发布不到六个月的时候,你们就反映说Visual Studio 2010的使用已经超过了所有之前版本。现在,即一年之后,我非常自豪地说我们并没有止步不前,而是不断地使产品增值。今天,继七百万的下载之后,在这里为MSDN订阅者和非订阅者简要回顾自2010年四月以来的在我们的开发人员工具上所做的一些重要更新。这些只是自一年前Visual studio发布以来,我们为用户提供的更新中的一部分。
针对所有的Visual Studio 2010用户:
o 自从Visual Studio 2010的发布以来, 我们继续支持微软内的平台创新。我们通过发布Windows Phone 7开发工具推进了移动开发,这些工具包括能充分利用WP7设计系统的新模板,并增强了在本地仿真器和设备上无缝测试移动应用程序的调试能力。我们继续支持Visual Studio Azure Tools,并和Windows Azure保持同步,在过去的一年里发布了三个补丁以确保Visual Studio云开发人员能使用最新的平台功能。了解更多关于Windows Phone 7开发和 Windows Azure开发 。
o 我们还继续采取举措以跟进新的软件开发趋势并帮助开发人员变得更高效。我们发布了适用于Visual Studio 2010的生产力工具(Productivity Power Tools for Visual Studio 2010),它整合了许多简单易懂且有用的功能,能帮助开发人员更高效地在Visual Studio上完成日常工作。这些功能集中表现在编辑、导航以及构建代码时会用到的其他常见任务。根据Agile用户的强烈需求,在见解非凡的Agile社区的领头人的帮助下,我们特地为Scrum团队创建发布了Visual Studio Scrum。请从这里查找Visual Studio Power Tools。你们可以在Visual Studio Gallery上找到Visual Studio Scrum和许多其他的扩展。
o 我们继续改进并行编程和数据访问技术。去年秋天我们发布了Visual Studio Async CTP,开始了关于轻量级异步开发经验的讨论,让开发人员能够快速写出响应良好的客户端程序和可扩展的服务器应用程序。今天我很高兴地宣布ADO.NET Entity Framework 4.1的发布,它仍然是我们推荐的数据访问技术,它的最新版本支持“代码优先”开发模型。请了解更多的相关信息并下载Visual Studio Async CTP,获取ADO.NET Entity Framework 4.1 的新版本。
o 我们为Visual Studio家庭创建了一个新成员:Visual Studio LightSwitch。LightSwitch为行业应用程序的构建者们提供了创建桌面、web和云的行业应用的最简单的方法。Visual Studio LightSwitch 在beta 2中已经可以使用了。
o 最后,在最近的十二个月里,我们花费了大量的时间来倾听客户的声音并回应你们的反馈。我们收到Server Core的客户关于.NET 4的支持的反馈,以及我们现在已经开始支持的Windows Server 2008 R2 SP1。我们也收到了Visual Studio 2010用户的反馈,并用冬季的大部分时间来处理这些问题,解决了优先级高的问题并在春季发布的Visual Studio 2010 SP1的中改善了整体体验。现在你们可以下载Visual Studio 2010 SP1 。
针对MSDN订阅用户的Visual Studio 2010:
· 随着Visual Studio 2010的发布,我们为MSDN订阅用户引进了一个新的利益概念:功能包。功能包发布代表我们打算并入Visual Studio未来的版本但是提前通过扩展实现的那些想法。现在Ultimate的订阅用户有五个功能包可以使用,这些代码可视化和建模、测试实验室管理、负载测试、工程管理等等方面提供了新的功能。请从这里了解更多关于针对MSDN订阅用户的Visual Studio功能包的信息。
· 2010年夏初我们发行了Expression 4, 为开发人员和设计人员等创建身临其境的用户体验带来了专业的设计工具。从那之后,我们将Expression Studio 4提供给高级的和最终的MSDN订阅用户下载,作为给他们的利益的一部分。
· 我们争取为MSDN订阅用户尽早地提供我们最新的软件以帮助他们在软件开发趋势中处于领先地位,也让他们更具竞争力。Visual Studio 2010 SP1和Visual Studio 2010 SP1二者都是先对MSDN订阅用户开放的。随着Windows Azure的发布,我们制定了一项为MSDN订阅用户提供补充Azure时间的福利。在庆祝Visual Studio 2010发布一周年之际,我为MSDN订阅用户准备了一个生日礼物:我们现在正在增加你们的补充Azure时间!请查阅给MSDN订阅用户的Azure时间福利新列表。
尽管在过去的一年里我们很忙,但是你们——我们的合作伙伴和用户,看起来更繁忙!超过1,600的Visual Studio 2010扩展已经提交到Visual Studio Gallery,同时有超过4百万扩展被下载。我们的合作伙伴继续可以在Visual Studio上创建各种业务,在过去的一年里,合作伙伴们已经基于Visual Studio的扩展创造了四十亿美元的收入。很多用户在使用Visual Studio 2010来实现他们的商业目标。如今在微软案例研究(Microsoft Case Studies)站点上有近200个与Visual Studio 2010相关的实际用户案例。请从这儿了解更多关于Visual Studio合作伙伴(包括怎样成为一个Visual Studio合作伙伴)的信息,也可以在Microsoft Case Studies 网站上查看一些Visual Studio 2010案例研究。
Visual Studio 2010大概于11个月之前发布,现在我们仍然在改善它, 并对通过Visual Studio Connect所收到的用户反馈做出响应。 这些反馈指导我们改善了一些部分,包括IntelliTrace,单元测试和Silverlight应用分析。
您可以从今天早些时候Jason Zander的博客中了解更多的关于我们是如何改进Visual Studio 2010的信息。 3月8号, MSDN 订阅用户将能够从我们的订阅用户下载通道下载安装Visual Studio 2010 SP1。 若您不是MSDN订阅用户,您可以在3月10号(星期四)获取更新。
TFS-Project Server集成功能包
今天在下载中心还可供使用Visual Studio Ultimate的MSDN订阅用户下载的还有TFS-Project Server集成功能包。通过一起使用Visual Studio, Project和Sharepoint, Project Server和Team Foundation Server的集成让团队合作更有效率,同时还能在使用不同方法——比如瀑布和敏捷, 公用数据和指标——的团队之间协调开发。
Visual Studio 负载测试功能包
我们知道时刻保证您的应用程序持续以最高负荷高效运行是您成功的关键。但是负载和性能测试常常在应用程序周期较晚阶段进行。在应用程序周期晚期修复和检测产品架构和设计上的问题往往比早期代价更大。 这就是我们要将负载和性能测试功能嵌入Visual Studio IDE的原因。
今天我们给使用Visual Studio 2010 Ultimate的MSDN订阅用户介绍一项新功能——Visual Studio 2010负载测试功能包。通过这个功能包,您可以根据需要模拟尽可能多的虚拟用户, 无需花钱购买额外的Visual studio 负载测试用户包2010序列号。 欲知更多与Visual Stuio 2010 Ultimate相关的该项MSDN好处,请访问Visual Studio 负载测试虚拟用户包2010页面。
Visual Studio LightSwitch Beta 2
Visual Studio LightSwitch为桌面和云计算开发提供了一种简单的方法来开发商业业务应用程序。自从推出Visual Studio LightSwitch Beta1以来,此工具下载量已逾十万,引起了大量开发人员的兴趣。 在接下来的几个星期内,我们将推出Visual Studio LightSwitch Beta 2。在第二个beta版本中,我们将让您可以在Windows Azure和SQL Azure上构建商业业务应用程序。
作为微软研究院的先锋,Dryad,DSC和DryadLINQ是一系列在Windows HPC Server 2008 RC Service Pack 1上支持数据密集型计算应用程序的技术。 这些技术使很多应用程序能够处理大规模书架,包括数据挖掘应用程序、图像和流处理和各种不同的极大的科学计算。Dryad和DSC在群集上运行以支持数据密集型计算并管理分布在群集中的数据。而DryadLINQ则允许开发人员使用熟悉的LINQ编程模型创建数据密集型和计算密集型的.NET应用程序。
// Join the two tables on the common key (IP Address)
IEnumerable<string> joined = logLinesTable.Join(geoIpTable,
l1 => l1.Split(‘ ‘).First(),
l2 => l2.Split(‘ ‘).First(),
(l1, l2) => l2).AsEnumerable();
return joined;
}
public static void Main()
{
// Load log and geo data into DSC
Console.WriteLine(“Loading data”);
File.ReadLines(“log.txt”).AsDistributed().ExecuteAsText(“hpcdsc://localhost/Samples/log”);
File.ReadLines(“geo.txt”).AsDistributed().ExecuteAsText(“hpcdsc://localhost/Samples/geo”);
// Run the query
Console.WriteLine(“Running query”);
IEnumerable<string> results =
GeoIp(“hpcdsc://localhost/Samples/log”, “hpcdsc://localhost/Samples/geo”);
// Print out the results
Console.WriteLine(“Displaying results”);
foreach (var entry in results) Console.WriteLine(entry);