<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Jason Zander's blog</title><link>http://blogs.msdn.com/b/jasonz/</link><description>Corporate Vice President, Visual Studio, Developer Division</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>New Team, New Challenges</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/09/19/new-team-new-challenges.aspx</link><pubDate>Thu, 20 Sep 2012 00:30:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10351140</guid><dc:creator>Jason Zander</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10351140</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/09/19/new-team-new-challenges.aspx#comments</comments><description>&lt;p&gt;Last week we officially &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/09/12/tune-in-to-the-visual-studio-2012-launch.aspx"&gt;launched VS2012 and the .NET Framework 4.5&lt;/a&gt;.&amp;nbsp; I&amp;rsquo;ve spent the last couple of weeks in launch activities in London, Seattle, Atlanta, and New York, sharing details on the new versions and doing whatever I can to help people get going on the new release.&amp;nbsp; I can honestly say this is the best release I&amp;rsquo;ve worked on (and I&amp;rsquo;ve worked on basically all of them).&amp;nbsp; We have been able to use half the milestones and land with higher quality this release thanks to several internal improvements as well as the new toolset we just released&amp;nbsp;(I will have to share some of those improvements in future posts; I&amp;rsquo;ve heard from many of you that you are trying to do similar things).&lt;br /&gt;&amp;nbsp;&lt;br /&gt;Now that we have shipped I will be taking on a new challenge owning development efforts for &lt;a href="http://www.windowsazure.com"&gt;Windows Azure&lt;/a&gt;.&amp;nbsp; I&amp;rsquo;ll be joining my new peers Scott Guthrie (another&amp;nbsp;DevDiv alumni) and&amp;nbsp;Bharat Shah.&amp;nbsp; I&amp;rsquo;m looking forward to working with&amp;nbsp;Scott and Bharat as well as taking on a new set of challenges and&amp;nbsp;technologies.&amp;nbsp; Cloud computing is one of the most exciting technologies in the industry right now and I&amp;rsquo;m joining a great team working on cool stuff at global scale.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;Wish me luck &amp;lt;g&amp;gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10351140" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/JasonZ/">JasonZ</category></item><item><title>Tune in to the Visual Studio 2012 Launch</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/09/12/tune-in-to-the-visual-studio-2012-launch.aspx</link><pubDate>Wed, 12 Sep 2012 17:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10269573</guid><dc:creator>Jason Zander</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10269573</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/09/12/tune-in-to-the-visual-studio-2012-launch.aspx#comments</comments><description>&lt;p&gt;This morning we kicked off the VS 2012 launch with an event in Seattle. You can tune in to the online coverage at &lt;a href="http://www.visualstudiolaunch.com/"&gt;http://www.visualstudiolaunch.com/&lt;/a&gt; for live interviews and session recordings. In this blog post, I’ll share some of the info I presented at today’s event.&lt;/p&gt;  &lt;h2&gt;Modern Applications&lt;/h2&gt;  &lt;p&gt;It’s a really cool time to be a consumer today. New smart phones, tablets, ultrabooks, and lots of cool gadgets are coming out all the time. In this world, users have become accustomed to having a lot of choice in their applications and they expect to see certain features from the start (connected, touch, etc). We are also increasingly seeing more demand for these same types of features in the Enterprise. With products like Yammer, social has crossed over from networking with friends to my teammates. Finally, users are becoming accustomed to getting new features faster than ever before. If we want to be successful in this new world we will have to change up the way we are creating software.&lt;/p&gt;  &lt;p&gt;The question for developers is how do we build such applications and do it with the fastest time to market? We will need a system that allows us to build out business and transactional logic at scale, exposing things in a way that we can handle many heterogeneous device types, with team software to speed up delivery. Today’s keynote walks you through how Visual Studio helps you solve these problems.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6557.image_5F00_662FCE30.png" target="_blank"&gt;&lt;img title="image" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1777.image_5F00_thumb_5F00_09EE172D.png" width="730" height="359" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Visual Studio 2012&lt;/h2&gt;  &lt;p&gt;These trends are exciting, and provide compelling ways for users to interact with your apps. But they also present new challenges when it comes to the development of your apps. These are the kinds of things we had in mind when designing Visual Studio 2012 and .NET Framework 4.5.&lt;/p&gt;  &lt;p&gt;We wanted to make sure that you could start with your existing software assets, and bring them forward to take advantage of the latest platforms. Using Visual Studio 2012, you’ll find that you can target a variety of Microsoft and non-Microsoft clients. You can also create backend services using SharePoint, SQL Server, Windows Azure, and Windows Server. And finally, you can manage your app in production using System Center integration.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7450.image_5F00_578A43AD.png" target="_blank"&gt;&lt;img title="image" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5808.image_5F00_thumb_5F00_64F056B3.png" width="730" height="383" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Continuous Services&lt;/h2&gt;  &lt;p&gt;When designing the backend services for your app, you need them to scale to the demand, to be accessible from different clients, and to be able to leverage both cloud and on-premise components. VS 2012 and .NET Framework 4.5 contain the tools and technologies to help you be successful here. (Many of these are actually &lt;a href="http://blogs.msdn.com/b/jasonz/archive/tags/favorite+feature/"&gt;“favorite features”&lt;/a&gt; that I’ve blogged about before. ;-) ) &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/07/23/my-favorite-features-entity-framework-code-first-and-asp-net-web-api.aspx"&gt;ASP.NET Web API and Entity Framework Code First&lt;/a&gt; are two useful .NET features for building your services. With EF Code First, you can start by defining classes that represent the data model, and let EF create the database tables for you. Then you can create a Web API controller to expose the data as an HTTP-based service, which can be consumed using REST, JSON, or XML. This makes it really easy to access the service from a variety of clients, so you can build a set of companion apps for phones, tablets and browsers, across any platform.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1754.image_5F00_6F736726.png" target="_blank"&gt;&lt;img title="image" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1185.image_5F00_thumb_5F00_3D0F93A7.png" width="454" height="478" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;New ASP.NET Web API project&lt;/i&gt;&lt;/p&gt;  &lt;h2&gt;Web Experiences&lt;/h2&gt;  &lt;p&gt;One place you’ll want to consume these services is from a website - this is where you’ll get to take advantage of the latest web tooling features in VS 2012. You’ll find enhancements like &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/05/10/my-favorite-features-improved-tooling-in-visual-studio-11-for-javascript-developers.aspx"&gt;JavaScript IntelliSense&lt;/a&gt; and debugging, HTML 5 schema validation, DOM Explorer, and new code snippets. Also check out the new Page Inspector, which allows you to analyze running web pages and find the code that generated each HTML element:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2262.image_5F00_7FBC7CBF.png" target="_blank"&gt;&lt;img title="image" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1373.image_5F00_thumb_5F00_5B2AEF3B.png" width="734" height="442" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Finally, when you’re all done, you can use the Visual Studio Publish wizard to deploy the website to Windows Azure.&lt;/p&gt;  &lt;h2&gt;Connected Devices&lt;/h2&gt;  &lt;p&gt;Once you have your services set up, you’ll want to access them (by consuming the Web API) from the client apps running on your connected devices. These apps might include existing desktop apps, a new Windows Store app, a Windows Phone app, or an app for another platform. VS 2012 introduces new features to help with the development of these apps, such as the C# &amp;amp; VB async and await keywords, which simplify asynchronous programming, resulting in more responsive apps. You’ll also find a new and enhanced XAML editor within Visual Studio, as well as design tools for Windows Store apps in Blend for Visual Studio 2012. In case you decide to create Windows Store versions of your existing desktop apps, VS 2012 includes portable libraries which allow you to refactor your application logic so that it can be consumed from both the WPF and Windows Store app (as well as Windows Phone, and a variety of other clients you might have plans for down the road…). We’ve also added great C++ graphics tools in this release for both editing, using the Vertex Shader, Pixel Shader and Output Merger, as well as debugging, using the pixel history and other diagnostic tools:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6177.GraphicsTools_5F00_6BC76938.png" target="_blank"&gt;&lt;img title="GraphicsTools" style="display: inline; background-image: none;" border="0" alt="GraphicsTools" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0207.GraphicsTools_5F00_thumb_5F00_2C8E60FD.png" width="734" height="393" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Conclusion&lt;/h2&gt;  &lt;p&gt;This is really just a glimpse into how you can use VS 2012 and .NET 4.5 to build modern apps that “wow” your users. Make sure to catch the full coverage from today’s event on &lt;a href="http://www.visualstudiolaunch.com/"&gt;http://www.visualstudiolaunch.com/&lt;/a&gt;. You can also read about the announcements we made today from &lt;a href="http://blogs.msdn.com/b/somasegar/archive/2012/09/12/visual-studio-2012-and-net-4-5-launch.aspx"&gt;Soma&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/09/12/visual-studio-update-this-fall.aspx"&gt;Brian&lt;/a&gt; and the &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2012/09/12/visual-studio-express-2012-for-windows-desktop-is-here.aspx"&gt;Visual Studio team blog&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;http://twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10269573" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Announcement/">Announcement</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+2012/">Visual Studio 2012</category></item><item><title>Visual Studio 2012 and .NET Framework 4.5 released to the web!</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/08/15/visual-studio-2012-and-net-framework-4-5-released-to-the-web.aspx</link><pubDate>Wed, 15 Aug 2012 17:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10338888</guid><dc:creator>Jason Zander</dc:creator><slash:comments>105</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10338888</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/08/15/visual-studio-2012-and-net-framework-4-5-released-to-the-web.aspx#comments</comments><description>&lt;p&gt;I&amp;rsquo;m thrilled to announce that this morning we released Visual Studio 2012, Team Foundation Server 2012, and .NET Framework 4.5 to the web. It&amp;rsquo;s time to start your engines, and begin downloading today!&lt;/p&gt;
&lt;p&gt;MSDN Subscribers can download immediately at the &lt;a href="http://go.microsoft.com/fwlink/?LinkID=207267"&gt;MSDN Subscriber Download Page&lt;/a&gt;, and volume licensing customers will be able to download starting tomorrow from the &lt;a href="https://www.microsoft.com/Licensing/servicecenter"&gt;Volume Licensing Service Center&lt;/a&gt;. You&amp;rsquo;ll also be able to find the product in stores in the next month or so, as well as some availability to purchase through the &lt;a href="http://go.microsoft.com/fwlink/?linkid=242143"&gt;Visual Studio product website&lt;/a&gt; in the next few days. Finally, to evaluate the free trial versions or download our free Express products, please visit the &lt;a href="http://go.microsoft.com/fwlink/?linkid=240162"&gt;Visual Studio product website&lt;/a&gt; today.&lt;/p&gt;
&lt;p&gt;This has been a great release for the team, and I&amp;rsquo;m really excited about all that we&amp;rsquo;ve accomplished. By adopting agile practices, and using our IDE and ALM tools, we&amp;rsquo;ve been able to complete the release in half as many milestones this time around. Here&amp;rsquo;s a picture of our release team, signing off on the final build:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6215.P1060432_5F00_4AED5585.jpg" target="_blank"&gt;&lt;img width="734" height="439" title="P1060432" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="P1060432" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4743.P1060432_5F00_thumb_5F00_738BC18C.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Developing great apps for Windows 8 is an important goal of this release. Therefore, in coordination with today&amp;rsquo;s developer tools releases, you&amp;rsquo;ll notice that the final version of Windows 8 has &lt;a href="http://msdn.microsoft.com/en-US/windows/apps/br229516/"&gt;released to the web&lt;/a&gt; as well. Furthermore, in addition to the Blend tools that ship with Visual Studio 2012 RTM, today we also released a new &lt;a href="http://go.microsoft.com/fwlink/?linkid=261803"&gt;Blend + SketchFlow Preview for Visual Studio 2012&lt;/a&gt; that addresses some top Blend customer requests, including support for WPF, Silverlight, and SketchFlow.&amp;nbsp; For more details, check out &lt;a href="http://blendinsider.com/"&gt;BlendInsider&lt;/a&gt;, the Blend team blog.&lt;/p&gt;
&lt;h2&gt;Top 12 of Visual Studio 2012&lt;/h2&gt;
&lt;p&gt;In case you&amp;rsquo;re still deciding whether to download Visual Studio 2012, or haven&amp;rsquo;t been keeping up with all the news about the release, I&amp;rsquo;ll leave you with 12 good reasons to upgrade today. ;-)&lt;/p&gt;
&lt;h3&gt;#1) Develop for Windows 8&lt;/h3&gt;
&lt;p&gt;Visual Studio 2012 contains all the tools you need to develop killer apps for Windows 8, from templates, to designers, to testing, to debugging. &lt;a href="http://blendinsider.com/"&gt;Blend&lt;/a&gt; now comes with the Visual Studio installation providing rich visual tools for creating Windows store apps using HTML/CSS and XAML. Using these tools, you&amp;rsquo;ll find everything you need to develop a great app and submit it to the Windows Store.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4118.NewProject_5F00_3AD247D5.png" target="_blank"&gt;&lt;img width="734" height="509" title="NewProject" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="NewProject" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8132.NewProject_5F00_thumb_5F00_365BC70E.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For more information, see the &lt;a href="http://blogs.msdn.com/b/windowsappdev/"&gt;Windows 8 App Developer Blog&lt;/a&gt; and the &lt;a href="http://msdn.microsoft.com/en-US/windows/apps"&gt;Windows Dev Center&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;#2) Develop for the Web&lt;/h3&gt;
&lt;p&gt;Visual Studio 2012 and .NET 4.5 provide the &lt;a href="http://msdn.microsoft.com/en-us/library/hh420390(v=VS.110).aspx#whatsnew_feature"&gt;latest advances in ASP.NET&lt;/a&gt; including web optimization improvements (minification and bundling), new templates, HTML &amp;amp; CSS editor improvements, page inspector, and new publishing tools. We&amp;rsquo;ve added new features to support &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/05/10/my-favorite-features-improved-tooling-in-visual-studio-11-for-javascript-developers.aspx"&gt;JavaScript development&lt;/a&gt; including IntelliSense improvements, a new DOM explorer, and a JavaScript console. For more information, check out the &lt;a href="http://blogs.msdn.com/b/webdev/"&gt;Web Development team blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7382.MvcApplication4_2D00_Running_2D002D002D00_Microsoft_2D00_Visual_2D00_Studio_2D00_10_5F00_0C8A2283.png" target="_blank"&gt;&lt;img width="734" height="475" title="MvcApplication4 (Running) - Microsoft Visual Studio (10)" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="MvcApplication4 (Running) - Microsoft Visual Studio (10)" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5633.MvcApplication4_2D00_Running_2D002D002D00_Microsoft_2D00_Visual_2D00_Studio_2D00_10_5F00_thumb_5F00_54D76852.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Page Inspector&lt;/i&gt;&lt;/p&gt;
&lt;h3&gt;#3) Develop for Windows Phone 8&lt;/h3&gt;
&lt;p&gt;Visual Studio 2012 will provide support for developing Windows Phone 8 applications (both with a Express SKU as well as a freely downloadable plug-in for VS Pro and above). This will come online in the future, once Windows Phone 8 and the developer SDK become available. Some &lt;a href="http://windowsteamblog.com/windows_phone/b/wpdev/archive/2012/06/29/recapping-windows-phone-8-developer-news.aspx"&gt;new features&lt;/a&gt; to look forward to include native C++ support, the ability to target both Windows Phone 7.x and Windows Phone 8 applications, multi-chassis support, and enterprise publishing. Stay tuned for more info from the &lt;a href="http://windowsteamblog.com/windows_phone/b/wpdev/"&gt;Windows Phone team&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7651.marblemaze_5F00_complete_5F00_phone_5F00_4DA6B32D.png" target="_blank"&gt;&lt;img width="734" height="442" title="marblemaze_complete_phone" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="marblemaze_complete_phone" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5516.marblemaze_5F00_complete_5F00_phone_5F00_thumb_5F00_32959632.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;C++ Windows Phone 8 Application&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;#4) Develop for Windows Azure&lt;/h3&gt;
&lt;p&gt;Visual Studio provides the best possible tools to develop your cloud services. In Visual Studio 2012, you&amp;rsquo;ll notice &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/06/07/announcing-the-june-2012-release-of-windows-azure-sdk-for-net-now-with-support-for-visual-studio-2012-rc.aspx"&gt;cloud tooling improvements&lt;/a&gt; including support for distributed caching, new publishing options, new templates, and a lower install footprint. Using &lt;a href="http://tfspreview.com/"&gt;Team Foundation Service&lt;/a&gt; with Windows Azure, you can now achieve &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/06/07/announcing-continuous-deployment-to-azure-with-team-foundation-service.aspx"&gt;continuous integration and continuous deployment&lt;/a&gt; of your software. For more information, please visit the &lt;a href="http://www.windowsazure.com/en-us/develop/net/"&gt;Windows Azure .NET Developer&lt;/a&gt; center, and download today&amp;rsquo;s release of the &lt;a href="http://www.windowsazure.com/en-us/develop/net/"&gt;Windows Azure SDK for .NET&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6403.Deployed_2D00_Builds_2D00_in_2D00_TFS_2D00_Portal_5F00_6003834D.png" target="_blank"&gt;&lt;img width="676" height="421" title="Deployed Builds in TFS Portal" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="Deployed Builds in TFS Portal" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7853.Deployed_2D00_Builds_2D00_in_2D00_TFS_2D00_Portal_5F00_thumb_5F00_14A3DF89.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Deployment history&lt;/i&gt;&lt;/p&gt;
&lt;h3&gt;#5) Develop Business Applications&lt;/h3&gt;
&lt;p&gt;Visual Studio 2012 contains a variety of tools for developing business applications. SharePoint developers will find new designers for list and content types, new templates for site columns and Silverlight web pages, as well as new options for deploying SharePoint sites. ALM features like performance profiling, unit testing, and IntelliTrace are now available for SharePoint development. Client-side development has been improved as well, with support for JavaScript debugging and IntelliSense. For more information, please visit the &lt;a href="http://blogs.msdn.com/b/sharepointdev/"&gt;SharePoint developer team blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6661.ListDesigner_5F00_0202187A.png" target="_blank"&gt;&lt;img width="734" height="393" title="ListDesigner" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="ListDesigner" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5001.ListDesigner_5F00_thumb_5F00_3AACC287.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;SharePoint List Designer&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Meanwhile, we&amp;rsquo;ve also announced a &lt;a href="http://blogs.msdn.com/b/officeapps/archive/2012/07/17/introducing-the-new-office-cloud-app-model.aspx"&gt;new app model&lt;/a&gt; for Office and SharePoint 2013, which enables you to host your apps in the cloud, and to use web technologies to develop them. Visual Studio 2012, along with the &lt;a href="http://go.microsoft.com/fwlink/?LinkID=261869"&gt;Microsoft Office Developer Tools for Visual Studio 2012 &amp;ndash; Preview&lt;/a&gt;, gives you the tools to program with the new app models for Office and SharePoint. To learn more and get started building apps for Office &amp;amp; SharePoint 2013, head to &lt;a href="http://dev.office.com"&gt;http://dev.office.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;LightSwitch is a powerful tool available for building business applications for the Desktop and the Cloud. Starting in Visual Studio 2012, LightSwitch is available as part of the Visual Studio Professional, Premium and Ultimate installations. LightSwitch includes a variety of improvements in Visual Studio 2012, such as a new &lt;a href="http://blogs.msdn.com/b/lightswitch/archive/2012/03/15/lightswitch-cosmopolitan-shell-and-theme-for-visual-studio-11-beta-released.aspx"&gt;theme&lt;/a&gt;, the ability to &lt;a href="http://blogs.msdn.com/b/lightswitch/archive/2012/03/22/lightswitch-architecture-odata.aspx"&gt;access data from any OData source as well as create OData services&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/b/lightswitch/archive/2012/04/03/active-directory-group-support-matt-thalman.aspx"&gt;Active Directory integration&lt;/a&gt;, and &lt;a href="http://blogs.msdn.com/b/lightswitch/archive/2012/03/28/new-business-types-percent-amp-web-address-andrew-lader.aspx"&gt;new business types&lt;/a&gt;. We also are working on &lt;a href="http://msdn.microsoft.com/en-US/vstudio/htmlclient"&gt;support for HTML clients&lt;/a&gt;, which will be available as an add-on to VS2012. To learn more, please visit the &lt;a href="http://msdn.com/lightswitch/"&gt;LightSwitch Developer Center&lt;/a&gt; and the &lt;a href="http://blogs.msdn.com/b/lightswitch/"&gt;LightSwitch team blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0511.LS_5F00_6A57385E.png" target="_blank"&gt;&lt;img width="730" height="557" title="LS" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="LS" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5707.LS_5F00_thumb_5F00_2370A612.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;LightSwitch in Visual Studio 2012&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;
&lt;h3&gt;#6) Develop Games and other 3D Applications&lt;/h3&gt;
&lt;p&gt;Visual Studio 2012 includes graphics tools to help game developers become more productive, making it easier to build innovative games. From debugging DirectX graphics, to designing and coding DirectX shaders (HLSL), to inspecting and manipulating graphics assets (images and models), Visual Studio 2012 provides all the functionality you need to build graphically rich 2D/3D applications.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5633.GraphicsImage_2D002D002D00_Game_5F00_3B171786.png" target="_blank"&gt;&lt;img width="734" height="445" title="GraphicsImage - Game" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="GraphicsImage - Game" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1106.GraphicsImage_2D002D002D00_Game_5F00_thumb_5F00_363463CA.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Visual Studio 2012 Graphics Diagnostics Tools&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;#7) Take advantage of the latest language advancements&lt;/h3&gt;
&lt;p&gt;If you&amp;rsquo;re developing in C# or Visual Basic, you can take advantage of the language new features in Visual Studio 2012 and .NET 4.5 for &lt;a href="http://msdn.microsoft.com/en-us/library/hh191443(v=VS.110).aspx"&gt;asynchronous programming&lt;/a&gt;. Using the new async and await keywords, you can write asynchronous code that looks a lot like the synchronous version:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3414.Async_5F00_24526BF5.jpg" target="_blank"&gt;&lt;img width="734" height="375" title="Async" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="Async" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0876.Async_5F00_thumb_5F00_4D5D0AF1.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href="http://msdn.microsoft.com/en-us/library/hh409293(v=vs.110)"&gt;C++ support in Visual Studio 2012&lt;/a&gt; includes the full C++ 11 standard library as well as new language features: stateless lambdas, &lt;a href="http://blogs.msdn.com/b/vcblog/archive/2012/04/06/10291485.aspx"&gt;SCARY iterators&lt;/a&gt;, range-based for loops, and scoped enumerations support. Visual C++ 11 also adds seamless access to Windows Runtime components through C++/CX as well as C++ Accelerated Massive Parallelism (C++ AMP), which enables hardware acceleration for the execution of your data-parallel C++ code.&lt;/p&gt;
&lt;p&gt;For JavaScript development, please see more details about the improvements we&amp;rsquo;ve made in the Web development section above.&lt;/p&gt;
&lt;p&gt;Lastly, if you&amp;rsquo;re using F#, you&amp;rsquo;ll enjoy improvements for information-rich programming, which enable you to program directly against data services, and are made possible by &lt;a href="http://msdn.microsoft.com/en-us/library/hh156509(v=vs.110)"&gt;F# type providers&lt;/a&gt; and LINQ queries.&lt;/p&gt;
&lt;h3&gt;#8) Performance, Reliability, and Compatibility Improvements&lt;/h3&gt;
&lt;p&gt;In addition to adding new features, we&amp;rsquo;ve also invested heavily to improve the core capabilities of the product. For example, we&amp;rsquo;ve &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/tags/performance/"&gt;invested in performance&lt;/a&gt; and made significant improvements in areas such as the toolbox, typing and editing, debugging, and solution loading time.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3125.SolutionLoad_5F00_5E7F14E1.png" target="_blank"&gt;&lt;img width="629" height="367" title="SolutionLoad" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="SolutionLoad" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4214.SolutionLoad_5F00_thumb_5F00_575FD869.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve also taken care to improve the backward &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2012/03/28/round-tripping-with-visual-studio-11.aspx"&gt;compatibility&lt;/a&gt; of Visual Studio 2012, and enabled you to continue collaborating on projects with teammates using Visual Studio 2010 SP1.&lt;/p&gt;
&lt;h3&gt;#9) New IDE Productivity Features&lt;/h3&gt;
&lt;p&gt;The Visual Studio 2012 user interface includes an updated look and feel, which is consistent with the latest Microsoft products, and designed to focus your attention on the code. The overall environment has been streamlined, including simplified toolbars, a lightweight Find dialog, and less tab clutter by previewing files rather than opening them during debugging. Using Quick Launch, you can now search the IDE for any menu or command.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2727.IDE_5F00_54982C53.png" target="_blank"&gt;&lt;img width="734" height="396" title="IDE" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="IDE" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3716.IDE_5F00_thumb_5F00_36B9A852.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;New Find Dialog&lt;/i&gt;&lt;/p&gt;
&lt;h3&gt;#10) Improve your code quality with enhanced testing tools&lt;/h3&gt;
&lt;p&gt;Visual Studio 2012 includes a wealth of testing tools.&lt;/p&gt;
&lt;p&gt;Microsoft Test Manager 2012 has been enhanced to embrace exploratory testing (sometimes called agile testing), which allows you to explore the product in any way you want while keeping relevant steps and data that can be used to directly file bugs and feedback:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2158.Exploratory_2D00_Testing_5F00_4E06A3E6.png" target="_blank"&gt;&lt;img width="734" height="415" title="Exploratory Testing" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="Exploratory Testing" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2555.Exploratory_2D00_Testing_5F00_thumb_5F00_2908E36D.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lab Management has also been greatly simplified in this release with the consolidation of agents and the introduction of standard environments, which allow you to benefit from build-deploy-test workflows without the dependency on Hyper-V or &lt;a href="http://technet.microsoft.com/en-us/library/gg610610.aspx"&gt;SCVMM&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;With Visual Studio 2012, we now provide the ability for you to include additional adapters to support 3rd party unit testing frameworks such as xUnit.net, NUnit, and others. The new Test Explorer will showcase all of the tests across your solution regardless of which testing framework they were written for. Visual Studio 2012 will continue to provide support for traditional unit tests written using the classic Visual Studio Unit Testing Framework, and adds support for writing tests in C++ as well.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0181.Unit_2D00_Testing_5F00_645C492B.png" target="_blank"&gt;&lt;img width="734" height="415" title="Unit Testing" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="Unit Testing" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8422.Unit_2D00_Testing_5F00_thumb_5F00_2D15C1F0.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;New Test Explorer&lt;/i&gt;&lt;/p&gt;
&lt;h3&gt;#11) Reduce cycle times using tools for agile practices&lt;/h3&gt;
&lt;p&gt;Visual Studio 2012 contains a variety of tools to create transparency between team members, reduce waste, and accelerate the flow of the project. As you set out to start the project, &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/05/24/my-favorite-features-creating-storyboards-with-powerpoint.aspx"&gt;PowerPoint storyboarding&lt;/a&gt; is a useful way to communicate the requirements of the software. When you get further along, the Microsoft Feedback Client can be used to gather feedback on the working bits from external stakeholders.&lt;/p&gt;
&lt;p&gt;Team Foundation Server 2012 provides a rich toolset for planning out your sprints, managing the backlog, and tracking progress. I recommend reading &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/05/29/my-favorite-features-managing-projects-with-the-backlog-sprint-planning-and-taskboard-features-in-team-foundation-server-11.aspx"&gt;my earlier post&lt;/a&gt;, where I explored these features in detail. As an example, below is a picture of the taskboard, which can be used to easily edit work items during a standup meeting:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1856.Taskboard_2D002D002D00_TFS_5F00_258A2EF5.png" target="_blank"&gt;&lt;img width="734" height="451" title="Taskboard - TFS" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="Taskboard - TFS" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3426.Taskboard_2D002D002D00_TFS_5F00_thumb_5F00_00F8A171.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;#12) Deliver Cloud-Based Services with Smoother Collaboration between Operations and Engineering&lt;/h3&gt;
&lt;p&gt;Each release of our ALM tools, we&amp;rsquo;ve integrated additional roles to improve collaboration across the team, and decrease cycle time. This release, we&amp;rsquo;re including operations, which is increasingly important for today&amp;rsquo;s cloud-based services apps. Many of you are already using System Center to monitor your applications in production. This release, we&amp;rsquo;ve introduced a new &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/04/17/better-together-tfs-2010-and-system-center-2012.aspx"&gt;management pack&lt;/a&gt;, which will allow critical production issues detected by System Center 2012 SP1 to be immediately assigned to the development team with high quality diagnostic information via TFS and Visual Studio.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8004.1667.SCOM_2D00_TFS_5F00_APM_5F00_Alert1_5F00_6EB28EED.png" target="_blank"&gt;&lt;img width="734" height="552" title="1667.SCOM-TFS_APM_Alert[1]" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" alt="1667.SCOM-TFS_APM_Alert[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7411.1667.SCOM_2D00_TFS_5F00_APM_5F00_Alert1_5F00_thumb_5F00_15147239.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;System Center Operations Manager&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;These kinds of tools for operations and engineering are something we plan to continue delivering in the future. For example, System Center 2012 SP1 will also introduce &amp;ldquo;Global Service Monitor&amp;rdquo; (GSM), which allows you to monitor your application&amp;rsquo;s functionality, performance, and uptime from multiple endpoints around the world.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m very excited for the bits to be out and available for &lt;a href="http://go.microsoft.com/fwlink/?linkid=240162"&gt;download&lt;/a&gt;! As you can see, there are a ton of new capabilities in this release, which is now the best version of Visual Studio we&amp;rsquo;ve ever shipped. I look forward to seeing all the amazing things that you will do with it. I hope this post gave you a glimpse of what&amp;rsquo;s in store. To learn more, I invite you to join us on September 12&lt;sup&gt;th&lt;/sup&gt; for the Visual Studio 2012 Launch event online at &lt;a href="http://www.visualstudiolaunch.com/"&gt;http://www.visualstudiolaunch.com/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;http://twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10338888" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/C_2B002B00_/">C++</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Testing/">Testing</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/ALM/">ALM</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Phone/">Phone</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/LightSwitch/">LightSwitch</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Announcement/">Announcement</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/-NET+Framework/">.NET Framework</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Basic/">Visual Basic</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/C_2300_/">C#</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/SharePoint/">SharePoint</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Office/">Office</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+2012/">Visual Studio 2012</category></item><item><title>Final Build for VS 2012 - Availability and Launch Dates Ahead</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/08/01/final-build-for-vs-2012-availability-and-launch-dates-ahead.aspx</link><pubDate>Wed, 01 Aug 2012 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10334513</guid><dc:creator>Jason Zander</dc:creator><slash:comments>36</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10334513</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/08/01/final-build-for-vs-2012-availability-and-launch-dates-ahead.aspx#comments</comments><description>&lt;p&gt;The final build of Visual Studio 2012 is now complete! The engineering team is finished and is now preparing the build for our numerous distribution channels.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d also like to congratulate the Windows 8 team for completing their important release to manufacturing today. You can read more from the Windows team on the&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/b8/"&gt;Building Windows 8&lt;/a&gt; blog.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m looking forward to our next milestone when we make Visual Studio 2012 available for everyone to download from MSDN and elsewhere on August 15&lt;sup&gt;th&lt;/sup&gt;. Watch my blog for the official release information.&lt;/p&gt;
&lt;p&gt;Finally, I&amp;rsquo;d like to invite you to join Soma and me on September 12&lt;sup&gt;th&lt;/sup&gt; as we officially launch Visual Studio 2012 via a live online event. For more information, please visit &lt;a title="http://www.visualstudiolaunch.com/" href="http://www.visualstudiolaunch.com/"&gt;http://www.visualstudiolaunch.com/&lt;/a&gt;. I hope you will tune in to learn more about all the new capabilities in VS 2012.&lt;/p&gt;
&lt;p&gt;Exciting times ahead!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;http://twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;. &lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10334513" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Announcement/">Announcement</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+2012/">Visual Studio 2012</category></item><item><title>My Favorite Features: Entity Framework Code First and ASP.NET Web API</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/07/23/my-favorite-features-entity-framework-code-first-and-asp-net-web-api.aspx</link><pubDate>Mon, 23 Jul 2012 18:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10332411</guid><dc:creator>Jason Zander</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10332411</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/07/23/my-favorite-features-entity-framework-code-first-and-asp-net-web-api.aspx#comments</comments><description>&lt;p&gt;It&amp;rsquo;s an exciting time for Entity Framework! Last Thursday, the team &lt;a href="http://blogs.msdn.com/b/adonet/archive/2012/07/19/entity-framework-and-open-source.aspx"&gt;announced&lt;/a&gt; an open source release, which is now available on the &lt;a href="http://entityframework.codeplex.com/"&gt;Entity Framework CodePlex Site&lt;/a&gt;. I&amp;rsquo;ve been using Entity Framework quite a bit in my personal development, and thought I&amp;rsquo;d use this opportunity to continue my &lt;a href="http://blogs.msdn.com/b/jasonz/archive/tags/favorite+feature/"&gt;&amp;ldquo;Favorite Features&amp;rdquo; series&lt;/a&gt; with a post on EF.&lt;/p&gt;
&lt;p&gt;In this post, I&amp;rsquo;m going to use the Code First workflow in Entity Framework to build an application. Entity Framework originally shipped as part of the .NET Framework, but in an effort to ship more often the last few versions have been shipped on &lt;a href="http://nuget.org/packages/EntityFramework"&gt;NuGet&lt;/a&gt;, in-between releases of the .NET Framework. In addition to being available on NuGet, the latest version of Entity Framework (EF5) is also included in a number of places in Visual Studio 2012.&lt;/p&gt;
&lt;p&gt;As part of building the app, I&amp;rsquo;ll also use &lt;a href="http://www.asp.net/web-api"&gt;ASP.NET Web API&lt;/a&gt; to build an HTTP service. ASP.NET Web API is another favorite feature of mine, and is great way to create services that can be consumed from different clients.&lt;/p&gt;
&lt;h3&gt;What&amp;rsquo;s New in EF5&lt;/h3&gt;
&lt;p&gt;I thought I&amp;rsquo;d start with a quick recap of the new features in Entity Framework 5, some of which we&amp;rsquo;ll get to use in this post. I&amp;rsquo;ve been looking forward to a number of these, and am happy to see them added in the latest release.&lt;/p&gt;
&lt;p&gt;New features in Entity Framework 5:&lt;/p&gt;
&lt;p&gt;&amp;middot; &lt;b&gt;Enum support&lt;/b&gt; is a long awaited feature for EF and allows you to have enum properties in your domain classes. EF5 makes enum support available in the EF Designer and Code First.&lt;/p&gt;
&lt;p&gt;&amp;middot; &lt;b&gt;Table-valued functions&lt;/b&gt; in an existing database can now be included in models that are created using the EF Designer.&lt;/p&gt;
&lt;p&gt;&amp;middot; &lt;b&gt;Spatial data types&lt;/b&gt; can now be exposed in your model using the DbGeography and DbGeometry types. Spatial data can be included in models created with the EF Designer or Code First.&lt;/p&gt;
&lt;p&gt;&amp;middot; EF5 also includes some significant &lt;b&gt;performance improvements&lt;/b&gt; which you can find out more about on the &lt;a href="http://blogs.msdn.com/b/adonet/archive/2012/02/14/sneak-preview-entity-framework-5-0-performance-improvements.aspx"&gt;ADO.NET Blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The EF Designer, which is included in Visual Studio 2012, also has some new features:&lt;/p&gt;
&lt;p&gt;&amp;middot; Models can now be split up into &lt;b&gt;multiple diagrams&lt;/b&gt;, which is great for working with larger models. You can also &lt;b&gt;apply coloring to entities&lt;/b&gt; to help identify subsections of your model.&lt;/p&gt;
&lt;p&gt;&amp;middot; Improvements to the wizard that reverse engineers a model from a database make it easier and quicker to &lt;b&gt;batch&lt;/b&gt; &lt;b&gt;import stored procedures&lt;/b&gt; for querying data.&lt;/p&gt;
&lt;h3&gt;Creating the Application&lt;/h3&gt;
&lt;p&gt;One of the places that EF5 shows up in Visual Studio 2012 is the project template for ASP.NET Web API, so if you create a new ASP.NET Web API project you have Entity Framework 5 available in your project by default.&lt;/p&gt;
&lt;p&gt;In this post, I&amp;rsquo;ll create a simple web application to help folks find interesting tourist attractions. I&amp;rsquo;ll create a web page to help them locate the tourist attraction closest to a given location. Rather than having the web page communicate directly with the database, I&amp;rsquo;ll create a Web API to expose the data, so that applications on a variety of platforms can also access the data.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll start by creating a new MVC 4 application, targeting .NET 4.5, and select the &amp;lsquo;Web API&amp;rsquo; template.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4643.NewProject_5F00_424F7029.png" target="_blank"&gt;&lt;img width="687" height="622" title="NewProject" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" alt="NewProject" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1732.NewProject_5F00_thumb_5F00_0FEB9CAA.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Building a Model&lt;/h3&gt;
&lt;p&gt;One of the great things about Code First is that building your model is as simple as defining a set of classes. If needed, you can also supply additional configuration to define what the database looks like and how your classes map to the database.&lt;/p&gt;
&lt;p&gt;In the Models folder of my project I&amp;rsquo;ll add a Models.cs file that contains the following classes.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 10pt;"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; System.Collections.Generic;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 10pt;"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; System.Data.Spatial;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 10pt;"&gt;namespace&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; TouristAttractions.Models&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt; color: #2b91af;" color="#2b91af"&gt;TouristAttraction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; TouristAttractionId { &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; Name { &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;DbGeography&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; Location { &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;List&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;Review&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&amp;gt; Reviews { &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt; color: #2b91af;" color="#2b91af"&gt;Review&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; ReviewId { &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; Author { &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; Comments { &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; TouristAttractionId { &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;TouristAttraction&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; TouristAttraction { &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;Adding an API Controller&lt;/h3&gt;
&lt;p&gt;Now that I have a model, I&amp;rsquo;m going to create an API controller that allows me to read and write tourist attractions. An API controller is similar to an MVC controller, except it is consumed as a service rather than hooked up to a set of views.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;I need to first build the application before I add a controller. Next I&amp;rsquo;ll right-click on Controllers folder and select &amp;lsquo;Add-&amp;gt;Controller&amp;hellip;&amp;rsquo; from the context menu. I&amp;rsquo;ll name the new controller &amp;lsquo;AttractionsController&amp;rsquo;, and select the &amp;lsquo;API controller with read/write actions, using Entity Framework&amp;rsquo; template. This template will generate code that uses Entity Framework to read and write instances of my TouristAttraction class.&lt;/p&gt;
&lt;p&gt;I can also specify which Entity Framework context I want to use for data access. A context is a class that represents a session with the database and allows me to read and write data. I haven&amp;rsquo;t created a context yet, so I&amp;rsquo;ll select &amp;lt;New data context&amp;hellip;&amp;gt; from the list, and a new context will be created for me (I&amp;rsquo;ll call it TourismContext).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5545.AddController_5F00_68B15374.png" target="_blank"&gt;&lt;img width="608" height="397" title="AddController" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" alt="AddController" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4062.AddController_5F00_thumb_5F00_6B5A0F25.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When I complete the Add Controller Wizard, a number of items get added to my project. The new TourismContext that I asked the wizard to create has been added to the Models folder. This class derives from DbContext, which is the primary API of Entity Framework. The context also exposes a DbSet for each type that I want to access. DbContext has a set of conventions to pick a database to try and use, but ASP.NET Web API has overridden these conventions and told my context to load its connection information from the config file (using the &amp;ldquo;name=&amp;rdquo; syntax in the constructor).&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 9.5pt;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;TourismContext&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; : &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #2b91af;" color="#2b91af"&gt;DbContext&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 9.5pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; TourismContext() : &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;base&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"name=TourismContext"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;{ &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;DbSet&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;TouristAttraction&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;TouristAttractions&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; { &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Sure enough, if I look in Web.config I find the TourismContext connection string, pointing my context to a LocalDb database called TourismContext (followed by a timestamp to ensure it doesn&amp;rsquo;t collide with any previous ASP.NET Web API projects).&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;connectionStrings&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;add&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;"&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;TourismContext&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt; &lt;br /&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;connectionString&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;"&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;Data Source=(localdb)\v11.0; Initial Catalog=TourismContext-20120618160809; Integrated Security=True; MultipleActiveResultSets=True; AttachDbFilename=|DataDirectory|TourismContext-20120618160809.mdf&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;" &lt;br /&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;providerName&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;"&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;System.Data.SqlClient&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt; line-height: 13pt;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; line-height: 11pt; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; line-height: 11pt; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;connectionStrings&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; line-height: 11pt; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 11pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Finally, the API controller itself has been added to the Controllers folder. The controller is coded up to support getting all TouristAttractions, finding a TouristAttraction with a certain key, and adding, updating and deleting TouristAttractions. I&amp;rsquo;ll just show part of the generated code for the sake of brevity:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;AttractionsController&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; : &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt; color: #2b91af;" color="#2b91af"&gt;ApiController&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;TourismContext&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; db = &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;TourismContext&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt; color: #008000;" color="#008000"&gt;// GET api/Attractions&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;IEnumerable&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;TouristAttraction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;gt; GetTouristAttractions()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; db.TouristAttractions.AsEnumerable();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt; color: #008000;" color="#008000"&gt;// GET api/Attractions/5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;TouristAttraction&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; GetTouristAttraction(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; id)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;TouristAttraction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; touristattraction = db.TouristAttractions.Find(id);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; (touristattraction == &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;null&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;throw&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;HttpResponseException&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;(Request.CreateResponse(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;HttpStatusCode&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;.NotFound));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; touristattraction;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt; line-height: 13pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; line-height: 12pt; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 12pt;"&gt;&lt;span style="font-size: 10pt;"&gt; &lt;br /&gt; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;... &lt;br /&gt; &lt;br /&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll also add a new GetTouristAttraction method to AttractionsController, that takes some coordinates and finds the closest attraction.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;TouristAttraction&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; GetTouristAttraction(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;double&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; longitude, &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;double&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; latitude)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;var&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; location = &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;DbGeography&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;.FromText( &lt;br /&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;.Format(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"POINT ({0} {1})"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;, longitude, latitude));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;var&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; query = &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;from&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; a &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;in&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; db.TouristAttractions&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;orderby&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; a.Location.Distance(location)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; a;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; query.FirstOrDefault();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;Consuming the Web API&lt;/h3&gt;
&lt;p&gt;Because ASP.NET Web API uses the basics of HTTP for communication, my service can be consumed from any number of platforms and technologies. As just one example, I&amp;rsquo;ll build a simple web page that accesses the service from JavaScript.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll replace the contents of Views\Home\Index.cshtml with the following code:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;lt;!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;DOCTYPE&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;html&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;PUBLIC&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;html&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;lang&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;="en"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;head&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;title&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;Find Nearest Attraction&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;title&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;meta&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;http-equiv&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="Content-Type"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;content&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="text/html; charset=utf-8"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;charset&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="UTF-8"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="text/javascript"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;src&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3&amp;amp;mkt=en-us"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;src&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="../../Scripts/jquery-1.6.2.min.js"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="text/javascript"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;type&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;="text/javascript"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt; search() {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;var&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; lat = $(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;'#latitude'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;).val();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;var&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; long = $(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;'#longitude'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;).val();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;$.ajax({&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;url: &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"api/Attractions/?longitude="&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; + long + &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"&amp;amp;latitude="&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt; + lat,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;type: &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"GET"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;success: &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt; (data) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; (data == &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;null&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;$(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;'#attractionName'&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;).html(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"No attractions to search"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;$(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;'#attractionName'&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;).html(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"You should visit "&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt; + data.Name);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;displayMap(data.Location.Geography.WellKnownText, data.Name);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;});&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt; displayMap(coordinateString, name) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #008000;" color="#008000"&gt;// WellKnownText is in format 'POINT (&amp;lt;longitude&amp;gt;, &amp;lt;latitude&amp;gt;)'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;coordinateString = coordinateString.replace(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"POINT ("&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;, &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;).replace(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;")"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;, &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;var&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; long = coordinateString.substring(0, coordinateString.indexOf(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;" "&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;var&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; lat = coordinateString.substring(coordinateString.indexOf(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;" "&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;) + 1);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #008000;" color="#008000"&gt;// Show map centered on nearest attraction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;var&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; map = &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; VEMap(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;'myMap'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;map.LoadMap(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt; VELatLong(lat, long), 15, VEMapStyle.Aerial);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #008000;" color="#008000"&gt;// Add a pin for the attraction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;var&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; pin = &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; VEShape(VEShapeType.Pushpin, &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt; VELatLong(lat, long));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;pin.SetTitle(name);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;map.AddShape(pin);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;head&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;body&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;Find the Closest Tourist Attraction&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;h1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;div&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;label&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="longitude"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;Longitude:&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;label&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;input&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="text"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;id&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="longitude"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="10"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;label&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="latitude"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;Latitude:&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;label&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;input&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="text"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;id&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="latitude"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="10"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;input&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="button"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;value&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="Search"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;onclick&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;search();&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;div&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;p&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;id&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="attractionName"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;p&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;div&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;id&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;='myMap'&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;style&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;="&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;position&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;: &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;absolute&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;width&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;: &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;400px&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #ff0000;" color="#ff0000"&gt;height&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;: &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;400px&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;div&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;body&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #800000;" color="#800000"&gt;html&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #0000ff;" color="#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The main functionality of this page is in the search function. When the user specifies the coordinates to search for, this function uses an HTTP PUT request to ask the service for the closest attraction. The displayMap function then uses Bing Maps to display the data visually.&lt;/p&gt;
&lt;p&gt;If I run the project, I can test that the page appears correctly. However, we don&amp;rsquo;t have any data to display yet:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3580.WebPageNoData_5F00_59114863.png" target="_blank"&gt;&lt;img width="529" height="360" title="WebPageNoData" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" alt="WebPageNoData" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1016.WebPageNoData_5F00_thumb_5F00_03E9AC76.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now you may be wondering how it connected to the database when I didn&amp;rsquo;t do anything to create one. Because my database didn&amp;rsquo;t exist, Entity Framework Code First used a set of conventions to determine what the schema should look like, and created it for me. If I look at my LocalDb instance, I see the new database that it created:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7380.Database_5F00_388A08B1.png" target="_blank"&gt;&lt;img width="370" height="376" title="Database" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" alt="Database" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4478.Database_5F00_thumb_5F00_3F3D1234.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Rest assured, if you don&amp;rsquo;t like the default conventions there are plenty of options for changing table names, column names, data types and almost every other aspect of the schema that gets created. Code First can also be used to map to an existing database. That is beyond the scope of this post but you can check out the &lt;a href="http://blogs.msdn.com/b/adonet/archive/2012/04/09/ef-power-tools-beta-2-available.aspx"&gt;EF Power Tools&lt;/a&gt; as a good starting point.&lt;/p&gt;
&lt;h3&gt;Seeding the Data&lt;/h3&gt;
&lt;p&gt;Now I want to get some seed data into my database so that we can see the web page working properly. I&amp;rsquo;m going to use Entity Framework Code First Migrations to do this. The Migrations feature allows me to evolve the database as my model changes (we&amp;rsquo;ll see this in action shortly), and it also allows me to specify some seed data that should be present in the database.&lt;/p&gt;
&lt;p&gt;To start using Code First Migrations, I can use the Enable-Migrations command in the Package Manager Console to switch on Migrations for my TourismContext. Package Manager Console can be opened from the Tools-&amp;gt;Library Package Manager menu in Visual Studio.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0830.EnableMigrations_5F00_73DD6E6F.png" target="_blank"&gt;&lt;img width="745" height="192" title="EnableMigrations" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" alt="EnableMigrations" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2818.EnableMigrations_5F00_thumb_5F00_1AAB84B0.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Enabling migrations has added a new Migrations folder to my project that contains two items:&lt;/p&gt;
&lt;p&gt;&amp;middot; Configuration.cs &amp;ndash; This file allows me to define settings for how my database is to be migrated. This includes things such as the folder that migrations are generated in, seed data to be applied to the database and registration of providers for third party databases (i.e. MySql).&lt;/p&gt;
&lt;p&gt;&amp;middot; &amp;lt;timestamp&amp;gt;_InitialCreate.cs &amp;ndash; This is a migration that represents the changes that I&amp;rsquo;ve already applied to the database (i.e. creation of the TouristAttractions and Reviews tables). The migrations feature has recorded in my local database that this migration has already been applied.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll modify Configuration.cs to specify some seed data in the Seed method. You&amp;rsquo;ll notice that I&amp;rsquo;m using the AddOrUpdate method which allows me to specify a property to match on &amp;ndash; in my case that is the Name of the TouristAttraction. If Migrations finds an existing TouristAttraction with that name, it will update its current values to match the ones I&amp;rsquo;ve supplied; if not it will insert a new TouristAttraction.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 10pt;"&gt;protected&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;override&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; Seed(TouristAttractions.Models.&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;TourismContext&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; context)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;context.TouristAttractions.AddOrUpdate(a =&amp;gt; a.Name,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt; color: #2b91af;" color="#2b91af"&gt;TouristAttraction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;Name = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"Space Needle, Seattle"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;Location = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;DbGeography&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;.FromText(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"POINT(-122.348670959473 47.619930267334)"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;});&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;context.TouristAttractions.AddOrUpdate(a =&amp;gt; a.Name,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt; color: #2b91af;" color="#2b91af"&gt;TouristAttraction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;Name = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"Pike Place Market, Seattle"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;Location = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;DbGeography&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;.FromText(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"POINT(-122.341697692871 47.6094245910645)"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;});&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;context.TouristAttractions.AddOrUpdate(a =&amp;gt; a.Name,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt; color: #2b91af;" color="#2b91af"&gt;TouristAttraction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;Name = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"Statue of Liberty, NY"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;Location = &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;DbGeography&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;.FromText(&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"POINT(-74.0439682006836 40.6886405944824)"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;});&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin: 10pt 0in 0pt; line-height: 15pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; line-height: 12pt; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="font-weight: bold;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 12pt;"&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Now I can run the Update-Database command from Package Manager Console and the seed data will be applied to my local database. When I run the application, I can see this in action:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2806.WebPage_5F00_5A756B35.png" target="_blank"&gt;&lt;img width="529" height="767" title="WebPage" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" alt="WebPage" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6204.WebPage_5F00_thumb_5F00_180559B0.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Changing the Model&lt;/h3&gt;
&lt;p&gt;I have a simple application up and running, but it&amp;rsquo;s likely that my requirements will change over time. For example, I may decide I want to let users provide a Rating when they review an attraction.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 9.5pt;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt; color: #2b91af;" color="#2b91af"&gt;Review&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 9.5pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; ReviewId { &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; Author { &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; Comments { &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #ffff00;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: yellow;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: yellow;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: yellow;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: yellow;"&gt; Rating { &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: yellow;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: yellow;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: yellow;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: yellow;"&gt;&lt;span style="font-size: 9.5pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span&gt;TouristAttractionId&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; { &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;TouristAttraction&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span&gt;TouristAttraction&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; { &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 9.5pt;"&gt;; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;However when I update my model, it no longer matches the database schema that Code First created. If I were to run the application I would get an InvalidOperationException stating that &amp;ldquo;The model backing the 'TourismContext' context has changed since the database was created. Consider using Code First Migrations to update the database&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve already enabled Migrations to work with seed data though, so I can run the &amp;lsquo;Add-Migration AddRating&amp;rsquo; command to scaffold my pending changes to a new migration, and give it a name (&amp;lsquo;AddRating&amp;rsquo;).&lt;/p&gt;
&lt;p&gt;Running this command adds a new &amp;lt;timestamp&amp;gt;_AddRating.cs file to the Migrations folder. This file contains the steps to make my database schema match the current model:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;&lt;span style="font-size: 10pt;"&gt;namespace&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; TouristAttractions.Migrations&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; System;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; System.Data.Entity.Migrations;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;partial&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #2b91af;" color="#2b91af"&gt;AddRating&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; : &lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt; color: #2b91af;" color="#2b91af"&gt;DbMigration&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;override&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; Up()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;AddColumn(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"dbo.Reviews"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;, &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"Rating"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;, c =&amp;gt; c.Int(nullable: &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;override&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #0000ff;" color="#0000ff"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt; Down()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;DropColumn(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"dbo.Reviews"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;, &lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="color: #a31515;" color="#a31515"&gt;"Rating"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-size: 10pt;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt; line-height: 13pt;"&gt;&lt;span style="background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; line-height: 12pt; mso-highlight: white;"&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;span style="font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 12pt;"&gt;&lt;span style="font-size: 10pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Because this is just scaffolded code, I could edit it. For example, I could create indexes, or add columns or tables that aren&amp;rsquo;t part of my Code First model. I could also use the Sql method to execute any arbitrary SQL as part of the migration.&lt;/p&gt;
&lt;p&gt;For this example the scaffolded code is fine, so I&amp;rsquo;ll run the Update-Database command in Package Manager Console. This command will check that database to see which migrations have been applied, compare that to the migrations in my project and apply any pending ones. Now that the schema is updated, I can run my application again and everything works just fine.&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;I hope this post gave you some good insight into Entity Framework Code First and ASP.NET Web API. To learn about Entity Framework, I recommend visiting the &lt;a href="http://msdn.com/data/ef"&gt;Entity Framework Developer Center&lt;/a&gt; and the &lt;a href="http://blogs.msdn.com/b/adonet/"&gt;Entity Framework Team Blog&lt;/a&gt;. For Web API, please visit &lt;a href="http://www.asp.net/web-api"&gt;http://www.asp.net/web-api&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;http://twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;. &lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10332411" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/-NET+Framework/">.NET Framework</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Favorite+Feature/">Favorite Feature</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Entity+Framework/">Entity Framework</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/ASP-NET/">ASP.NET</category></item><item><title>Introducing “Napa” - Office 365 Development Tools</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/07/17/introducing-napa-office-365-development-tools.aspx</link><pubDate>Tue, 17 Jul 2012 13:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10328514</guid><dc:creator>Jason Zander</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10328514</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/07/17/introducing-napa-office-365-development-tools.aspx#comments</comments><description>&lt;p&gt;Yesterday was a very exciting day for Office and SharePoint! The team unveiled plans for the new Office at a press conference, and released a public preview of Office and SharePoint 2013. You can find the &lt;a href="http://www.microsoft.com/en-us/news/Press/2012/Jul12/07-16OfficePR.aspx"&gt;press release&lt;/a&gt; available on the Microsoft News Center, and watch the video &lt;a href="http://www.microsoft.com/en-us/news/presskits/office/liveevent.aspx"&gt;webcast&lt;/a&gt; by CEO Steve Ballmer on-demand . You can also download the release at &lt;a href="http://bit.ly/LiHiP4"&gt;office.com/preview&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But the excitement doesn&amp;rsquo;t stop there &amp;ndash; if you&amp;rsquo;re a developer you&amp;rsquo;ll be very happy to hear about the new ways in which you&amp;rsquo;ll be able to develop for Office and SharePoint.&lt;/p&gt;
&lt;p&gt;Office and SharePoint 2013 feature a new Cloud App Model that embraces web standards, and allows you to build a new class of apps that combine web technologies and cloud services, right within Office and SharePoint. One of the primary investments for Office and SharePoint 2013 has been cloud enablement. Apps can be hosted in the cloud, which enables you to deploy, update and maintain your apps more quickly. You also have the ability to publish and sell your apps through a new Office Store, or distribute IT approved apps through an internal App Catalog within your organization. To learn more about the new Cloud App Model and Office Store, I recommend reading Ludovic Hauduc&amp;rsquo;s announcement and watching the videos on the new &lt;a href="http://blogs.msdn.com/b/officeapps/archive/2012/07/17/introducing-the-new-office-cloud-app-model.aspx"&gt;Apps for Office and SharePoint blog&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Introducing &amp;ldquo;Napa&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;In sync with yesterday&amp;rsquo;s Office and SharePoint release, I&amp;rsquo;m happy to share that we released a preview of a new toolset called &amp;ldquo;Napa&amp;rdquo;, which is the easiest way to start building apps for the new Cloud App Model. As we set out to create developer tools for the new Cloud App Model, we took a fresh look at the overall solution we wanted to give to our customers. We wanted to provide a lightweight, in-browser experience, so that you could quickly build your SharePoint or Office web app in the same browser where they would run. Therefore, we created a first-class development environment called &amp;ldquo;Napa&amp;rdquo;, as an online companion to Visual Studio.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Napa&amp;rdquo; is a free app for SharePoint. Since &amp;ldquo;Napa&amp;rdquo; is web based, you don&amp;rsquo;t need to install anything on your machine to start developing for Office and SharePoint. Just fire up your browser and start coding. As your application matures and you need more advanced tools, you can seamlessly switch to the more powerful, fully featured Visual Studio IDE, and continue developing there. To learn more about the latest advances in Visual Studio 2012 tooling for SharePoint, please visit &lt;a href="http://msdn.microsoft.com/en-us/library/ee290856(v=VS.110).aspx"&gt;MSDN&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Of course, in parallel with &amp;ldquo;Napa&amp;rdquo;, you can still continue using the existing extensibility models for Office and SharePoint, like VBA, COM, VSTO, and SharePoint solutions. (However, please note that these cannot be submitted to the new Office Store.)&lt;/p&gt;
&lt;h3&gt;Getting Started&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s take a peek at what this all looks like. To give &amp;ldquo;Napa&amp;rdquo; a try, first sign up for the Microsoft Office 365 Developer Preview at &lt;a href="http://dev.office.com"&gt;http://dev.office.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When you sign up, a Developer site will be created for you. This site gives you your own instance of Office 365, where you can develop, deploy and test your Office 365 apps.&lt;/p&gt;
&lt;p&gt;Next, you&amp;rsquo;ll want to install &amp;ldquo;Napa&amp;rdquo; in order to add the tools to your Developer Site.&lt;/p&gt;
&lt;p&gt;(Please visit &lt;a href="http://msdn.microsoft.com/en-us/library/office/apps/fp179924(v=office.15)"&gt;MSDN&lt;/a&gt; for the complete instructions on these &amp;ldquo;Getting Started&amp;rdquo; steps.)&lt;/p&gt;
&lt;h3&gt;Creating a Project&lt;/h3&gt;
&lt;p&gt;Next (with &amp;ldquo;Napa&amp;rdquo; installed on your Developer Site), click on &amp;ldquo;Get tools to build apps&amp;rdquo; to launch &amp;ldquo;Napa&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7026.image_5F00_69C5CD23.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0763.image_5F00_thumb_5F00_45343F9F.png" width="734" height="378" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Napa&amp;rdquo; supports building all of the app types for Office and SharePoint allowing you to run in both the web app and rich client versions of the Office applications (i.e. Excel, Word).&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s get started by building an app for SharePoint.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4370.image_5F00_327F45E8.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2728.image_5F00_thumb_5F00_26E988A9.png" width="729" height="476" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Select &amp;ldquo;App for SharePoint&amp;rdquo; and click &amp;ldquo;Create&amp;rdquo; and you can start writing the code for your app right in the browser.&lt;/p&gt;
&lt;p&gt;As a web developer, one of the first things you&amp;rsquo;ll notice is that the new Cloud App Model is based on web standards. You&amp;rsquo;ll spend your time coding in HTML, client-side ASPX, CSS and JavaScript.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4061.image_5F00_0D81856F.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2728.image_5F00_thumb_5F00_5F96C367.png" width="734" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Even though &amp;ldquo;Napa&amp;rdquo; is a browser based application (that works in all of the modern browsers), we wanted to ensure you had the rich editing experience you would want as a developer. Let&amp;rsquo;s drill into a few key features of the editor you might not expect from a browser based developer tool.&lt;/p&gt;
&lt;h3&gt;Reading and Writing Code&lt;/h3&gt;
&lt;p&gt;We want you to be productive reading and writing code so we&amp;rsquo;ve added syntax colorization, instance highlighting, indenting, bracket matching and completion as you type.&lt;/p&gt;
&lt;p&gt;For example, as you scroll through the code, notice that as you click on an identifier, all of the instances are highlighted in the editor.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8203.clip_5F00_image007_5F00_7A62E973.png" target="_blank"&gt;&lt;img title="clip_image007" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="clip_image007" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1258.clip_5F00_image007_5F00_thumb_5F00_5CF09867.png" width="602" height="372" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Our simple, text based auto complete for JavaScript and CSS includes a rich set of code snippets (CTRL+SPACE). For example, we can use the for loop snippet:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7522.clip_5F00_image008_5F00_65E02AA6.png" target="_blank"&gt;&lt;img title="clip_image008" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="clip_image008" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3005.clip_5F00_image008_5F00_thumb_5F00_337C5727.png" width="496" height="174" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After adding the for loop using the snippet, you can tab through the identifiers and change their names if desired.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5875.clip_5F00_image009_5F00_532B30EF.png" target="_blank"&gt;&lt;img title="clip_image009" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="clip_image009" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5468.clip_5F00_image009_5F00_thumb_5F00_4EB4B028.png" width="482" height="120" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We also make it easy to select common values such as true/false, literals and so on in JavaScript and CSS.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5556.clip_5F00_image010_5F00_5567B9AB.png" target="_blank"&gt;&lt;img title="clip_image010" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="clip_image010" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1830.clip_5F00_image010_5F00_thumb_5F00_2303E62C.png" width="531" height="158" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Code Cleanup&lt;/h3&gt;
&lt;p&gt;To help you tidy up your code and ensure correctness, we&amp;rsquo;ve added the capability to see errors and warnings for JavaScript and CSS. Navigate between the errors by pressing (CTRL+,).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4786.clip_5F00_image011_5F00_5BAE9039.png" target="_blank"&gt;&lt;img title="clip_image011" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="clip_image011" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6445.clip_5F00_image011_5F00_thumb_5F00_3069F932.png" width="275" height="81" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And we have on demand formatting for JavaScript and CSS (CTRL+ALT+F) which allows you to select a block of code and tidy it up.&lt;/p&gt;
&lt;h3&gt;Code Navigation&lt;/h3&gt;
&lt;p&gt;To help you navigate your code, we&amp;rsquo;ve added Find (CTRL+F), Find/Replace (CTRL+H) and the ability to see a quick outline of your code (CTRL+ALT+O), as pictured below.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5556.clip_5F00_image012_5F00_5018D2FA.png" target="_blank"&gt;&lt;img title="clip_image012" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="clip_image012" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2248.clip_5F00_image012_5F00_thumb_5F00_448315BB.png" width="660" height="416" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For the full list of key bindings, hit (CTRL+.). This will bring up a page with a list of all of the keyboard shortcuts.&lt;/p&gt;
&lt;h3&gt;App Properties&lt;/h3&gt;
&lt;p&gt;&amp;ldquo;Napa&amp;rdquo; allows you to edit your app manifest and properties visually using a lightweight designer for the most common settings. Click on the &amp;ldquo;Properties&amp;rdquo; icon in the lower left corner to bring up the designer.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5468.image_5F00_66DAAB34.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3312.image_5F00_thumb_5F00_42491DB0.png" width="734" height="431" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Run&lt;/h3&gt;
&lt;p&gt;As you looked through Default.aspx and app.js you&amp;rsquo;ll have seen that the app is a simple page with the string &amp;ldquo;initializing&amp;hellip;.&amp;rdquo; That gets changed to &amp;ldquo;Hello &amp;lt;username&amp;gt;&amp;rdquo; after a call to query SharePoint for the current user information succeeds showing that the app integrates back with SharePoint.&lt;/p&gt;
&lt;p&gt;In the lower left corner, click the run button to run the app for SharePoint. This will package up the app, add it to your Developer Site and open it in the browser.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5554.image_5F00_08C60DB9.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8508.image_5F00_thumb_5F00_767D46F6.png" width="734" height="206" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In other words, without installing any software on the client machine, &amp;ldquo;Napa&amp;rdquo; allows you to create a project, edit the project and run it on SharePoint Online. Since the code is all client side, you can use your browser debugging tools to debug your code. (e.g. F12 in Internet Explorer)&lt;/p&gt;
&lt;p&gt;We think this is a big leap forward in simplifying getting started as a developer. You no longer have to install software, notably SharePoint server, on your development machine in order to create your first app.&lt;/p&gt;
&lt;h3&gt;Opening a Copy in Visual Studio 2012&lt;/h3&gt;
&lt;p&gt;At some point, you will want to leverage the full power of the Microsoft Office Developer Tools for Visual Studio 2012. For example, one of the key new capabilities in the Cloud App Model is that apps can be hosted on SharePoint, Windows Azure Web Sites or your own web server. Visual Studio will enable you to modify projects started in &amp;ldquo;Napa&amp;rdquo; or create new apps from scratch so they can target all of the hosting options. You can also take advantage of the great web development features in Visual Studio 2012 such as the DOM explorer or JavaScript debugger.&lt;/p&gt;
&lt;p&gt;To make the transition to Visual Studio seamless, &amp;ldquo;Napa&amp;rdquo; will not only allow you to download your project, but it will also help you install any software you need in order to develop apps for Office and SharePoint from Visual Studio.&lt;/p&gt;
&lt;p&gt;Click on the &amp;ldquo;Open in VS&amp;rdquo; button in the lower left corner.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5468.clip_5F00_image017_5F00_7206C62F.png" target="_blank"&gt;&lt;img title="clip_image017" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="clip_image017" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2742.clip_5F00_image017_5F00_thumb_5F00_4ACC7CFA.png" width="252" height="84" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The first time you use this feature, you will be asked for a language preference that Visual Studio will use if you add server code elements to your project.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5140.clip_5F00_image018_5F00_1868A97B.png" target="_blank"&gt;&lt;img title="clip_image018" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="clip_image018" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0184.clip_5F00_image018_5F00_thumb_5F00_38178343.png" width="455" height="339" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When you click &amp;ldquo;Continue&amp;rdquo;, you&amp;rsquo;ll be prompted to run an exe that will check that you have Visual Studio 2012, the Microsoft Office Developer Tools for Visual Studio 2012 - Preview add-in, and all of its dependencies. If you don&amp;rsquo;t, it will launch the Microsoft Web Platform Installer to install the required software. It will then download and open the project in Visual Studio 2012.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5468.image_5F00_33A1027C.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2742.image_5F00_thumb_5F00_1A38FF42.png" width="734" height="77" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What you&amp;rsquo;ll notice is that when you run from Visual Studio, the project will already be set up to develop and debug remotely to your Developer Site.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5468.image_5F00_7CC6AE35.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5140.image_5F00_thumb_5F00_50A9B144.png" width="734" height="545" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For those of you that know you want to start with Visual Studio, a direct download of the Microsoft Office Developer Tools for Visual Studio 2012 RC - Preview is available &lt;a href="http://www.microsoft.com/web/handlers/WebPI.ashx?command=GetInstallerRedirect&amp;amp;appid=OfficeToolsForVS2012RCPreview&amp;amp;mode=new"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Apps for Office&lt;/h3&gt;
&lt;p&gt;Now that we&amp;rsquo;ve built an app for SharePoint, let&amp;rsquo;s go back to &amp;ldquo;Napa&amp;rdquo; and build an app for Office. This time, when you create a new project, let&amp;rsquo;s choose a Content app for Excel.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3731.image_5F00_00D38CB9.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1261.image_5F00_thumb_5F00_753DCF79.png" width="733" height="481" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;By default, an app for Office consists of HTML, CSS and JavaScript files reinforcing that the Office Cloud App Model is standard web development.&lt;/p&gt;
&lt;p&gt;This time, when we run the app, we run it in the Excel Web App &amp;ndash; no need to install the Microsoft Office 2013 Preview in order to build your first app for Office.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8524.image_5F00_5BD5CC3F.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3480.image_5F00_thumb_5F00_770E2540.png" width="734" height="538" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We do enable you to run in the Office client applications should you have them installed, that is an option in the Properties designer.&lt;/p&gt;
&lt;p&gt;Finally, in addition to apps for SharePoint and apps for Excel, &amp;ldquo;Napa&amp;rdquo; also supports creating task pane and mail apps.&lt;/p&gt;
&lt;h3&gt;Learn More&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve just scratched the surface of apps for Office and SharePoint in this post. I recommend visiting the new &lt;a href="http://dev.office.com/"&gt;Apps for Office and SharePoint Developer Center&lt;/a&gt;&amp;nbsp;to learn more. And don&amp;rsquo;t forget to &lt;a href="http://msdn.microsoft.com/en-us/library/office/apps/fp179924(v=office.15)"&gt;sign up&lt;/a&gt; for the Microsoft Office 365 Developer Preview to give &amp;ldquo;Napa" a try!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Follow me at &lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;http://twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10328514" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Announcement/">Announcement</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/SharePoint/">SharePoint</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Office/">Office</category></item><item><title>Live from TechEd Europe: LightSwitch HTML Client Preview and Visual Studio 2012 Tools for SharePoint</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/06/26/live-from-teched-europe-lightswitch-html-client-preview-and-visual-studio-2012-tools-for-sharepoint.aspx</link><pubDate>Tue, 26 Jun 2012 07:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10323141</guid><dc:creator>Jason Zander</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10323141</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/06/26/live-from-teched-europe-lightswitch-html-client-preview-and-visual-studio-2012-tools-for-sharepoint.aspx#comments</comments><description>&lt;p&gt;This morning I presented the keynote at &lt;a href="http://europe.msteched.com/"&gt;TechEd Europe 2012&lt;/a&gt; in Amsterdam, and shared some updates on our tools. If you’re not attending the event in person, you can still tune in online. The keynote video recording is available &lt;a href="http://channel9.msdn.com/Events/TechEd/Europe/2012/KEY01"&gt;on-demand on Channel9&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The first announcement you’re likely to hear about is our LightSwitch HTML Client Preview release...&lt;/p&gt;  &lt;h3&gt;LightSwitch HTML Client Preview Availability&lt;/h3&gt;  &lt;p&gt;At &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/06/11/teched-north-america-2012-keynote-recap.aspx"&gt;TechEd North America 2012&lt;/a&gt;, I showed how LightSwitch is embracing a standards based approach with HTML5, JavaScript and CSS, so you can build companion touch-centric apps that run on multiple devices. This approach allows you to take advantage of the same backend services you’re using across your applications, as well as the productivity gains of LightSwitch.&lt;/p&gt;  &lt;p&gt;We’re excited to announce that the LightSwitch HTML Client Preview is available today for &lt;a href="http://go.microsoft.com/fwlink/?LinkID=207267" target="_blank"&gt;MSDN subscribers&lt;/a&gt;, and will be available publicly on Thursday June 28&lt;sup&gt;th&lt;/sup&gt;!&amp;#160; To learn more about the release, provide feedback, or ask questions, please visit the LightSwitch &lt;a href="http://msdn.microsoft.com/en-us/lightswitch/htmlclient"&gt;Developer Center&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/b/lightswitch/archive/2012/06/26/lightswitch-html-client-preview-available.aspx"&gt;team blog&lt;/a&gt;, and &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/lightswitchhtml/threads"&gt;forums&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;Visual Studio 2012 Tools for SharePoint 2010&lt;/h3&gt;  &lt;p&gt;This morning I also demoed SharePoint tools. With Visual Studio 2012 RC, we’re delivering another compelling release for writing SharePoint 2010 solutions. We’ve developed a rich experience for creating SharePoint lists and content types, so that you no longer need to deal with the complex schema or error-prone hand-editing of XML. Our new SharePoint List Designer allows you to visually and accurately define new lists and content types:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5661.sptools_5F00_5391475E.png" target="_blank"&gt;&lt;img title="sptools" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="sptools" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8461.sptools_5F00_thumb_5F00_1C78EC95.png" width="704" height="450" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We’re also working hard to make sure that you get the most accurate IntelliSense when working with SharePoint solutions.&amp;#160; When developing a &lt;a href="http://msdn.microsoft.com/en-us/library/ee361616(v=vs.110)"&gt;sandboxed solution&lt;/a&gt;, we now filter to the APIs that are available in production, so that you get immediate feedback on the right APIs to use.&amp;#160; We’ve also augmented IntelliSense to parse JavaScript files that are stored in the SharePoint content database, and now provide IntelliSense for the functions and members in those files.&lt;/p&gt;  &lt;p&gt;Visual Studio 2012 RC includes several enhancements for Office 365 development, where SharePoint solutions run in a sandboxed process.&amp;#160; For example, the Visual Web Part template has been updated to be compatible with the sandbox and can now be safely deployed to Office 365.&amp;#160; We’ve also introduced a new Silverlight Web Part template, in case you prefer to define your Web Parts in XAML.&amp;#160; Finally, we’ve improved the experience of deploying sandboxed solutions with a new Publish dialog, which allows you to directly publish to Office 365 or any other remote SharePoint Server.&lt;/p&gt;  &lt;p&gt;ALM support for SharePoint development continues to improve in the Visual Studio 2012 RC.&amp;#160; We’ve expanded our profiling support so that you can get rich information about the bottlenecks in both &lt;a href="http://msdn.microsoft.com/en-us/library/ee361616(v=vs.110)"&gt;farm and sandboxed&lt;/a&gt; solutions . I also &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/03/27/visual-studio-ultimate-roadmap.aspx"&gt;announced&lt;/a&gt; previously that we’ll continue to add ALM support in the first Ultimate Feature Pack, which will feature unit testing support as well as support for SharePoint load testing.&lt;/p&gt;  &lt;h3&gt;Conclusion&lt;/h3&gt;  &lt;p&gt;I look forward to hearing from you as you have an opportunity to try out these features.&lt;/p&gt;  &lt;p&gt;Enjoy the event, and make sure to check out the &lt;a href="http://channel9.msdn.com/Events/TechEd/Europe/2012"&gt;view the videos online&lt;/a&gt; as they become available!&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10323141" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/LightSwitch/">LightSwitch</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Announcement/">Announcement</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+11/">Visual Studio 11</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/SharePoint/">SharePoint</category></item><item><title>What you need to know about developing for Windows on ARM (WOA)</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/06/12/what-you-need-to-know-about-developing-for-windows-on-arm-woa.aspx</link><pubDate>Tue, 12 Jun 2012 12:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10313014</guid><dc:creator>Jason Zander</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10313014</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/06/12/what-you-need-to-know-about-developing-for-windows-on-arm-woa.aspx#comments</comments><description>&lt;p&gt;You’ve probably heard about the new Windows on ARM PCs that will be coming to market with Windows 8. If you’ve been following the &lt;a href="http://northamerica.msteched.com/"&gt;TechEd North America&lt;/a&gt; coverage, then you’ve also seen these devices in the keynote. In this post, we’re going to cover what this all means for developers.&lt;/p&gt;  &lt;p&gt;For an introduction to Windows on ARM, I recommend reading Steven Sinofsky’s post on the “Building Windows 8” blog: &lt;a href="http://blogs.msdn.com/b/b8/archive/2012/02/09/building-windows-for-the-arm-processor-architecture.aspx"&gt;Building Windows for the ARM processor architecture&lt;/a&gt;. As Steven mentions, ARM testing devices are currently available to a small partner program. However all developers can start preparing their Metro style apps for ARM PCs today. &lt;/p&gt;  &lt;p&gt;In this blog post, I’ll walk you through developing an application to run on an ARM PC. What you’ll find is that developing an app for Windows on ARM is the same as developing a Metro style app for x86/64 PCs; that is, the same Metro style app will run on either hardware. Also, many Visual Studio paradigms you’ve come to know from building other application types (designing, testing, debugging, etc.) will carry over to your experience of building Metro style apps. In addition to the walkthrough below, I’ve also recorded &lt;a href="http://channel9.msdn.com/posts/Developing-For-Windows-on-ARM" target="_blank"&gt;a video&lt;/a&gt; so you can see this in action:&lt;/p&gt; &lt;iframe style="height: 288px; width: 512px" src="http://channel9.msdn.com/posts/Developing-For-Windows-on-ARM/player?w=512&amp;amp;h=288" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;As Windows hardware has evolved over the years, we’ve been updating Visual Studio to help you build applications that target each version. For example, today you can use Visual Studio to build apps that run on x86 and x64 PCs. You can also use Visual Studio to build apps that run on ARM hardware, including Windows Phone and Windows Embedded Compact. With Windows 8, you will now be able to build apps that target Windows on ARM. (To clarify, Visual Studio itself will not run on ARM, but it will enable you to build apps that run on ARM devices.) For those interested, I’ve provided details on the engineering process at the end of this post, including some history on how we were able to leverage our experience with other chips in the past. &lt;/p&gt;  &lt;h2&gt;Walkthrough&lt;/h2&gt;  &lt;p&gt;Let’s see what it looks like to build one of these apps in Visual Studio 2012. Regardless of whether you’re using JavaScript, C++, Visual Basic, or C#, if you’ve built a Metro style app that targets x86/x64 then you already know how to build one that targets ARM. You use the same Metro style project templates, which provide the starting point for building an app.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0385.image5_5F00_15E5E9CD.png" target="_blank"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4572.image5_5F00_thumb_5F00_65526C14.png" width="704" height="488" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In this case, we’re going to start with the Windows Blog Reader app, and walk through the process of debugging, testing, and deploying it on an ARM device. You can find tutorials to create this app in &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh974582.aspx"&gt;JavaScript&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/xaml/br211380.aspx"&gt;C#/VB&lt;/a&gt;, or &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh465045.aspx"&gt;C++&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2021.TutorialImage_5F00_5BF93791.png" target="_blank"&gt;&lt;img title="TutorialImage" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="TutorialImage" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5810.TutorialImage_5F00_thumb_5F00_59530C91.png" width="700" height="522" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Remote Debugging&lt;/h3&gt;  &lt;p&gt;Visual Studio provides the ability to do remote debugging. You’ll need to use this feature when working with an ARM device, since Visual Studio will always be running on an x86/x64 machine. Before you can start remote debugging, you’ll need to install the &lt;a href="http://www.microsoft.com/visualstudio/11/en-us/downloads#remote-tools"&gt;Remote Tools for Visual Studio 2012 RC&lt;/a&gt; onto your ARM device. The first thing we’ll do is launch the Remote Debugger from the device’s Start screen. You may receive a prompt to automatically configure your firewall settings (click Configure to continue).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2086.RemoteDebugger_5F00_46A0A38B.png" target="_blank"&gt;&lt;img title="RemoteDebugger" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="RemoteDebugger" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3247.RemoteDebugger_5F00_thumb_5F00_61D8FC8C.png" width="638" height="130" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next from the toolbar we select “Remote Machine”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8424.DebugMenu_5F00_75F21915.png" target="_blank"&gt;&lt;img title="DebugMenu" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="DebugMenu" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3225.DebugMenu_5F00_thumb_5F00_1849AE8F.png" width="190" height="145" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;(Note: If you’re using C++, you’ll also need to click the Debug dropdown and select Configuration Manager, and then set Platform to “ARM.”) Visual Studio 2012 will bring up the Remote Debugger Connections dialog. If the device is on the same subnet, then the device will appear under “My Subnet” (or if you are doing it through the project properties window, click the “Find…” button on the Debug tab). Alternatively you can manually configure it by entering the device’s machine name or IP address. Select your machine and then enter your login credentials for the machine if prompted (this will depend on the authentication mode you selected).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4885.image_5F00_33BD919C.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; display: inline" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1346.image_5F00_thumb_5F00_5A8BA7DC.png" width="409" height="513" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next you’ll see a prompt on your ARM device to acquire a &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh696646(v=vs.110).aspx"&gt;developer license&lt;/a&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0763.image_5F00_5D34638D.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; display: inline" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2248.image_5F00_thumb_5F00_4AEB9CCB.png" width="411" height="300" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Visual Studio will package and deploy your app and then launch it on the ARM device. Making all this happen requires a fair bit of work in MSBuild, the compilers, and the package wizard, but this all happens transparently and allows you to just focus on building your app.&lt;/p&gt;  &lt;p&gt;At this point you actually have a remote debugger attached! Let’s set a breakpoint so we can actually see the debugger in action. To do this, press Shift+F5 to stop debugging, and open the DateConverter.cs file. Set a breakpoint on the first line of the Convert method, and press F5 again. (For JavaScript set the breakpoint in the getBlogPosts function in the data.js file, and for C++ set it in the Convert method in DateConverter.h).&lt;/p&gt;  &lt;p&gt;You’ll see that execution actually stops at the breakpoint, and you have the full debugger capabilities available (i.e. Stepping, Breakpoints, Locals, Watches, Call Stack, Immediate Window, etc.). In particular notice the Registers window, which is supported for ARM and helps you see how things are running on the device. You can now press F11 to continue to step through the method, and then Shift+F5 to stop debugging.&lt;/p&gt;  &lt;p&gt;C#:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0576.CSharpStoppedInDebugger_5F00_57A7621F.png" target="_blank"&gt;&lt;img title="CSharpStoppedInDebugger" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="CSharpStoppedInDebugger" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2625.CSharpStoppedInDebugger_5F00_thumb_5F00_09356066.png" width="704" height="427" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;C++:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5140.image40_5F00_58384069.png" target="_blank"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0763.image40_5F00_thumb_5F00_2CAEB273.png" width="704" height="427" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;JavaScript:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5100.image45_5F00_631F6475.png" target="_blank"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3022.image45_5F00_thumb_5F00_1D3352B7.png" width="704" height="427" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Unit Testing&lt;/h3&gt;  &lt;p&gt;Let’s look at how we would add unit tests for our app, and execute them on the ARM device. Right-click the solution and click “Add-&amp;gt;New Project”, and select the “Unit Test Library (Metro style apps)” template. Name the project “BlogReaderUnitTestLibrary” and click Ok.&lt;/p&gt;  &lt;p&gt;Right-click References and select “Add Reference…”, then click “Solution” and select “WindowsBlogReader”. Update UnitTest1.cs with the following code:&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;pre id="codeSnippet" style="overflow: visible; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: rgb(244,244,244)"&gt;[TestClass]&lt;br /&gt;&lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;class&lt;/span&gt; UnitTest1&lt;br /&gt;{&lt;br /&gt;    &lt;br /&gt;    [TestMethod]&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; ValidateConvertForYearWithValidInput()&lt;br /&gt;    {&lt;br /&gt;        var converterInstance = &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; DateConverter();&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: rgb(0,128,0)"&gt;//checks if Convert method returns the year properly.&lt;/span&gt;&lt;br /&gt;        DateTime currentTime = DateTime.Now;&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; actualYear = &lt;br /&gt;            (&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;)converterInstance.Convert((&lt;span style="color: rgb(0,0,255)"&gt;object&lt;/span&gt;)currentTime, &lt;br /&gt;                                              &lt;span style="color: rgb(0,0,255)"&gt;typeof&lt;/span&gt;(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;), &lt;span style="color: rgb(0,96,128)"&gt;&amp;quot;year&amp;quot;&lt;/span&gt;, &lt;span style="color: rgb(0,96,128)"&gt;&amp;quot;Invariant&amp;quot;&lt;/span&gt;);&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; expectedYear = DateTime.Now.Year.ToString();&lt;br /&gt;        Assert.AreEqual(expectedYear, actualYear, &lt;br /&gt;        &lt;span style="color: rgb(0,96,128)"&gt;&amp;quot;The expected year to be returned by the Convert method and the actual returned value are not equal&amp;quot;&lt;/span&gt;);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    [TestMethod]&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; ValidateConvertWithInvalidInput()&lt;br /&gt;    {&lt;br /&gt;        var converterInstance = &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; DateConverter();&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: rgb(0,128,0)"&gt;//checks if Convert method throws exception when invoked with a string input.&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; currentTimeSTring = DateTime.Now.ToString();&lt;br /&gt;&lt;br /&gt;        Assert.ThrowsException&amp;lt;ArgumentException&amp;gt;(() =&amp;gt; &lt;br /&gt;            (&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;)converterInstance.Convert((&lt;span style="color: rgb(0,0,255)"&gt;object&lt;/span&gt;)currentTimeSTring, &lt;br /&gt;                                              &lt;span style="color: rgb(0,0,255)"&gt;typeof&lt;/span&gt;(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;), &lt;br /&gt;                                              &lt;span style="color: rgb(0,96,128)"&gt;&amp;quot;year&amp;quot;&lt;/span&gt;, &lt;br /&gt;                                              &lt;span style="color: rgb(0,96,128)"&gt;&amp;quot;Invariant&amp;quot;&lt;/span&gt;),&lt;br /&gt;            &lt;span style="color: rgb(0,96,128)"&gt;&amp;quot;Invoking Convert with a non-DateTime type doesn't throw&amp;quot;&lt;/span&gt;);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;


&lt;p class="MsoNormal" style="list-style-type: disc; margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none"&gt;Similarly, C++ has a Unit Test Library template for Metro style apps. One key difference to be aware of is C++ unit tests work against a WinMD file and not against an EXE project, so in the case of this walkthrough DateConverter.h would need to be moved to a separate library project and compiled as a WinMD. The Windows Dev Center has more information on how to &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh441482(v=vs.110).aspx"&gt;unit test Metro style apps&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We can use the new Test Explorer to launch our tests by clicking Test-&amp;gt;Windows-&amp;gt;Test Explorer. (Note this will run the tests on your Visual Studio machine, not on the ARM device.)&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8836.TestExplorer_5F00_2AF48B94.png" target="_blank"&gt;&lt;img title="TestExplorer" style="background-image: none; display: inline" border="0" alt="TestExplorer" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1586.TestExplorer_5F00_thumb_5F00_03BA425F.png" width="300" height="350" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href="http://www.microsoft.com/visualstudio/11/en-us/downloads#remote-tools"&gt;Remote Tools for Visual Studio 2012 RC&lt;/a&gt; that we installed earlier include a command-line unit test runner (vstest.console.exe) that we can use to execute our tests on the ARM device. It supports .trx files for offline viewing and sharing of results. (Note that JavaScript Unit Testing is not supported on ARM.) Start by creating an AppX package from your test project (right-click project, click on Store-&amp;gt;Create AppX package). Follow the prompts and select “ARM” as the type of package you want to build. Now copy the AppX package to the device (a USB stick can help here). From a command prompt, change to this directory:&lt;/p&gt;

&lt;p&gt;%ProgramFiles%\Microsoft Visual Studio\11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow&lt;/p&gt;

&lt;p&gt;Run this command to install the certificate for the AppX:&lt;/p&gt;

&lt;p&gt;certutil –addstore root BlogReaderUnitTestLibrary_1.0.0.0_ARM_Debug.cer&lt;/p&gt;

&lt;p&gt;Now type the following command:&lt;/p&gt;

&lt;p&gt;vstest.console.exe BlogReaderUnitTestLibrary_1.0.0.0_ARM_Debug.appx /logger:trx&lt;/p&gt;

&lt;p&gt;The /logger:trx switch creates a trx file which can be used for detailed analysis of the results.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7658.image55_5F00_6C33A209.png" target="_blank"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3326.image55_5F00_thumb_5F00_5C276403.png" width="673" height="347" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Manual Testing&lt;/h3&gt;

&lt;p&gt;You can execute manual testing scenarios on your ARM device with the help of Microsoft Test Manager. To do this, you run Microsoft Test Manager on your x86/x64 machine and connect to your remote device. As you test, the bugs that you log have all the diagnostic information collected from the attached ARM device. You can also take screenshots of the device directly from your host machine and auto-create bugs in Team Foundation Server.&lt;/p&gt;

&lt;p&gt;Let’s see this in action. Launch the Microsoft Test Tools Adapter service on your device, which is responsible for collecting diagnostic information:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7612.TestToolsAdapter_5F00_66E74C09.png" target="_blank"&gt;&lt;img title="TestToolsAdapter" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="TestToolsAdapter" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8360.TestToolsAdapter_5F00_thumb_5F00_2ABE1112.png" width="446" height="338" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click ‘Start Service’:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8372.TestToolsAdapter2_5F00_6FC08CDE.png" target="_blank"&gt;&lt;img title="TestToolsAdapter2" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="TestToolsAdapter2" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1425.TestToolsAdapter2_5F00_thumb_5F00_58951260.png" width="470" height="197" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From your host machine, launch Microsoft Test Manager and go to your &amp;quot;Test&amp;quot; center (assuming we have already created test plans and test cases already):&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3225.image66_5F00_1328F450.png" target="_blank"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6518.image66_5F00_thumb_5F00_111A9806.png" width="702" height="135" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &amp;quot;Modify&amp;quot; link:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8816.image_5F00_65A25920.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; display: inline" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3618.image_5F00_thumb_5F00_3A5DC219.png" width="376" height="48" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, enter the name of the remote device that would like to connect to:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6014.ManualTestingRemoteDevice_5F00_60F34D42.png" target="_blank"&gt;&lt;img title="ManualTestingRemoteDevice" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ManualTestingRemoteDevice" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2476.ManualTestingRemoteDevice_5F00_thumb_5F00_7C2BA643.png" width="502" height="208" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also chose to install your WindowsBlogReader app in to the remote device right from the testing center using the &amp;quot;Install Windows metro style App&amp;quot; link. Click &amp;quot;Run&amp;quot; in the toolbar to start the manual testing session. You’ll see a popup message on your device indicating that the manual testing session has started.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2705.RecordingStarted_5F00_507ADC47.png"&gt;&lt;img title="RecordingStarted" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="RecordingStarted" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4034.RecordingStarted_5F00_thumb_5F00_04AF058E.png" width="386" height="92" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you can execute the individual test cases, mark them as pass or fail, and log bugs with rich diagnostic info captured directly from the device.&lt;/p&gt;

&lt;h3&gt;Remote Profiling&lt;/h3&gt;

&lt;p&gt;Due to their power and size goals, WOA and SoC devices have different CPU, memory and I/O subsystem characteristics than a typical development machine. Performance testing will help guide any tuning that is needed for you to build best-in-class apps for your users to use, on any device. &lt;/p&gt;

&lt;p&gt;Let’s look at how we can setup remote profiling to analyze the app’s performance. Click Debug-&amp;gt;Start Performance Analysis. You’ll see a note to check the remote machine for UAC prompts (for a program named VSPerf.exe). Accept the elevation prompt on the ARM device, and the application will deploy and run on the remote device with profiling.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3113.image_5F00_713AA710.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; display: inline" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6740.image_5F00_thumb_5F00_1808BD51.png" width="554" height="416" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The profiler’s now attached, and you can execute your scenario:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7411.image_5F00_3ED6D391.png" target="_blank"&gt;&lt;img title="image" style="background-image: none; display: inline" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8081.image_5F00_thumb_5F00_09CA4461.png" width="356" height="153" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you’re done working with the app, click Stop profiling. The report will then be copied back to your development machine and opened in Visual Studio.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7183.ProfilerSummary_5F00_6DEFBE04.png" target="_blank"&gt;&lt;img title="ProfilerSummary" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ProfilerSummary" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4760.ProfilerSummary_5F00_thumb_5F00_2891F9DF.png" width="704" height="427" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are all sorts of ways you can investigate the results – you can zoom on the graph to see results for a particular range of time, you can use the summary page to get a quick view of what was the most expensive parts of the selected time range, and you can drill down on call tree branches and their cost. Here is the Call Tree view:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2273.ProfilerCallTree_5F00_04914AA5.png" target="_blank"&gt;&lt;img title="ProfilerCallTree" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ProfilerCallTree" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6864.ProfilerCallTree_5F00_thumb_5F00_20C6B4E5.png" width="704" height="211" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Function Details View lets you see a visual representation of the cost of the methods that call the method you are interested in, the breakdown of the methods it calls, and the cost of each line of code executing in the method itself.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0083.ProfilerFunctionDetails_5F00_7D994A32.png" target="_blank"&gt;&lt;img title="ProfilerFunctionDetails" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ProfilerFunctionDetails" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1541.ProfilerFunctionDetails_5F00_thumb_5F00_4A5FA17A.png" width="704" height="428" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s also worth noting that remote profiling supports pause and resume functionality just like local profiling does.&lt;/p&gt;

&lt;h3&gt;Packaging Your App&lt;/h3&gt;

&lt;p&gt;When it comes time to upload your app to the store, you can build a “Neutral” package if you only have managed code in your app (C#, VB, JavaScript). This indicates that the package contains code that will run on either x86, x64 or ARM. To create the package, right-click the project and select Store-&amp;gt;Create App Package.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2112.image111_5F00_551F8980.png" target="_blank"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0121.image111_5F00_thumb_5F00_604BA47B.png" width="704" height="543" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have a mix of both native and managed code, you’ll want to build packages for each of the architectures that you support, including ARM.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4857.image120_5F00_76A149C0.png" target="_blank"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2337.image120_5F00_thumb_5F00_38A7B902.png" width="704" height="544" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Prior to uploading, it’s a good idea to run the Windows App Certification Kit (WinACK) on the actual ARM device, to verify everything works as expected in the target environment. In Visual Studio 2012 RC, we’ve made this easier by providing a single MSI that includes everything you need for installing it on the ARM device. You can get this MSI by downloading the &lt;a href="http://msdn.microsoft.com/en-us/windows/hardware/hh852363"&gt;Windows Software Development Kit (SDK) for Windows 8 Release Preview&lt;/a&gt;. After installing this SDK, you’ll see a file called “Windows App Certification Kit arm-arm_en-us.msi” under C:\Users\&amp;lt;user&amp;gt;\Downloads\Windows Kits\8.0\StandaloneSDK\Installers. Just copy that file to your ARM device and run it from there.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3718.image126_5F00_0BB77789.png" target="_blank"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1234.image126_5F00_thumb_5F00_765C52D1.png" width="604" height="424" /&gt;&lt;/a&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;

&lt;h2&gt;Behind the Scenes: Engineering for ARM&lt;/h2&gt;

&lt;h3&gt;Designing for ARM&lt;/h3&gt;

&lt;p&gt;Within the engineering team, we established some design principles for targeting multiple chip architectures. For one, we wanted to abstract most chip differences from developers, with the goal that you can write apps that run on multiple chips without needing to do anything special. Second, we wanted to limit the places within the product that deeply know about chip architectures, with the goal that porting our product to new chip architectures is narrowly defined and straightforward. This enables our team to add new features and scenarios efficiently in the future.&lt;/p&gt;

&lt;p&gt;The process of engineering for ARM was different for each language (JavaScript, C++, and C#/VB), based on existing implementation details of the various runtimes and compilers.&lt;/p&gt;

&lt;p&gt;JavaScript uses a JIT compiler, so platform targeting is taken care of at runtime. Therefore Metro style apps using JavaScript are platform neutral, and you can write once to run on x86/x64/ARM. &lt;/p&gt;

&lt;p&gt;C# and Visual Basic are also abstracted from hardware differences. They compile to MSIL, which is platform neutral. Therefore, Metro style apps using C# or Visual Basic can be compiled once to run on x86/x64/ARM.&lt;/p&gt;

&lt;p&gt;C++ is close to the metal, and compiled to the machine language for the platform that you’re targeting. This offers developers full control, but also requires that they specify the hardware where the app will be supported.&lt;/p&gt;

&lt;p&gt;Taking these differences into account, we were able to create designs that worked well for each respective language platform.&lt;/p&gt;

&lt;h3&gt;Engineering Process&lt;/h3&gt;

&lt;p&gt;The story about how we engineered for ARM begins one decade ago, when we ported the .NET Framework to 64-bit. While we always intended to support multiple chip architectures, this real-world experience was very useful. It motivated design changes that stayed with the product, and that made supporting ARM easier. We also have a lot of experience in the Developer Division writing compilers and runtimes for the ARM architecture itself, through our work with Windows Phone and Windows Embedded. The .NET Compact Framework first shipped 10 years ago and we’ve supplied C++ compilers to build the Windows Embedded Compact operating system since the mid-1990s. Our focus in the phone and embedded space has always been to make code run efficiently on small systems. However, today’s smartphones of today are more powerful computers than desktop computers of a decade ago! A group in Microsoft Research did an experiment running the main desktop .NET Framework on a smartphone, and found that it performs well. Their experience made us confident that our work to port the desktop .NET Framework to ARM would be successful. &lt;/p&gt;

&lt;p&gt;As a result of our existing product designs, we were able to support the ARM chip in a relatively straight-forward way. There was no need to make architectural-level changes to accommodate ARM. That said there was still substantial work to do. &lt;/p&gt;

&lt;p&gt;For example, we found assumptions in a few source files, where a 32-bit process was assumed to exclusively mean an x86 environment, but it could now also mean ARM. We also experienced the advanced scenarios mentioned in the section above, firsthand. &lt;/p&gt;

&lt;p&gt;The biggest challenge was working with pre-release hardware, particularly early in the release. At first, we had to telnet into Windows to get anything done, since we were working with a Windows build without the Windows shell. We soon got a Windows PE build and hardware with video-out, USB and Ethernet. At that point, we could use Windows more like you would expect.&lt;/p&gt;

&lt;p&gt;You can see a picture below, of some of the hardware that we used while building Windows 8.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3835.image135_5F00_05FEEE94.png" target="_blank"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4643.image135_5F00_thumb_5F00_78BD86E2.png" width="628" height="307" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A really exciting aspect of targeting a new platform is that everything is changing at once. The tool stack is one additional piece of movement. It takes a lot of coordinated teamwork to build systems as large and important as Windows 8 and the platform for Metro style apps, and this release couldn’t have happened without the great partnership between the Developer Division and Windows. &lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;In this post, we walked through the process of developing a Metro style app to run on Windows on ARM. We saw that there are very few differences to make your Metro style apps target ARM. We covered a few specific tips that you need to know, such as how to do remote debugging and profiling on the device. Finally, we ended with an inside story on how the team went about enabling it all. I hope that this post helps answers some questions that you might have had, and also helps prepare you for developing apps that target Windows on ARM. &lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10313014" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Video/">Video</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Phone/">Phone</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Announcement/">Announcement</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+vNext/">Visual Studio vNext</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+11/">Visual Studio 11</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/ARM/">ARM</category></item><item><title>TechEd North America 2012 Keynote News</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/06/11/teched-north-america-2012-keynote-recap.aspx</link><pubDate>Mon, 11 Jun 2012 14:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10317915</guid><dc:creator>Jason Zander</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10317915</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/06/11/teched-north-america-2012-keynote-recap.aspx#comments</comments><description>&lt;p&gt;We’re here in Orlando this week at &lt;a href="http://northamerica.msteched.com/"&gt;TechEd North America 2012&lt;/a&gt;, with thousands of developers and IT professionals. If you’re not attending the event in person, you can still tune into the live stream at &lt;a href="http://northamerica.msteched.com/"&gt;http://northamerica.msteched.com/&lt;/a&gt;. This morning I presented in the Day One keynote. In this blog post, I’ll walk through some of the key announcements and demos I covered.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;[UPDATE 6/13/12: You can now find a video recording of the Day One keynote available on &lt;/strong&gt;&lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/KEY01" target="_blank"&gt;&lt;strong&gt;Channel9&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.]&lt;/strong&gt;&lt;/p&gt;  &lt;h3&gt;Windows 8 ARM Development&lt;/h3&gt;  &lt;p&gt;Visual Studio 2012 includes support for building Windows 8 Metro style apps. Along with the Windows 8 release, there will be some exciting new hardware based on the ARM processor. Today, I showed what it looks like to develop an app for one of these devices. For example, below is a screenshot from the debugger where you can see the Registers Windows and Disassembly code for an app running on ARM.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2630.DebuggingArm_5F00_4ED4A39C.png" target="_blank"&gt;&lt;img title="DebuggingArm" style="background-image: none; display: inline" border="0" alt="DebuggingArm" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2211.DebuggingArm_5F00_thumb_5F00_7C55C35F.png" width="704" height="506" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Stay tuned for another blog post tomorrow, where I’ll dive into all the details you need to know about developing for Windows on ARM.&lt;/p&gt;  &lt;h3&gt;LightSwitch OData Support and SAP&lt;/h3&gt;  &lt;p&gt;There are a number of other &lt;a href="http://msdn.microsoft.com/en-us/lightswitch/hh852657"&gt;LightSwitch features to be aware of in the Visual Studio 2012 RC&lt;/a&gt;, such as the new Cosmopolitan theme and &lt;a href="http://blogs.msdn.com/b/lightswitch/archive/2012/06/07/publishing-lightswitch-apps-to-azure-with-visual-studio-2012.aspx"&gt;Azure deployment with the latest Azure release&lt;/a&gt;. One feature that I’m personally very excited about is the OData support. Last month, in conjunction with SAP, IBM, Citrix, Progress, and WSO2, we submitted OData to the OASIS standards org. OData is a key building block for cloud services. Using LightSwitch in Visual Studio 2012, you can both consume and produce OData feeds. There are many OData providers available that you use with LightSwitch. Today we showed an interesting example of using LightSwitch to consume an OData feed from SAP NetWeaver Gateway, which allows you to programmatically access SAP data and business processes. Below you can see a screenshot of defining a relationship between Customer data from SQL Server and Sales Order information from SAP using the LightSwitch designer. I think this will be a really useful feature for your line of business apps, and I encourage you to try it out.&lt;/p&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0045.SAP_2D00_ScreenShot1_5F00_4DA2F229.png" target="_blank"&gt;&lt;img title="SAP ScreenShot1" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="SAP ScreenShot1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0880.SAP_2D00_ScreenShot1_5F00_thumb_5F00_3EA8FB4D.png" width="704" height="471" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h3&gt;LightSwitch HTML5 Support&lt;/h3&gt;  &lt;p&gt;We are working hard to help you build great rich client experiences. At the same time, we understand that many of you are being asked to create applications that can be run on multiple devices. We want you to be able to take advantage of the same backend services in these applications, as well as the productivity gains obtained with LightSwitch. The best way to create companion applications that can run on multiple heterogeneous devices (such as a phones and slates) is to leverage a standards based approach like HTML5, JavaScript and CSS. Today we’re announcing HTML5/JavaScript client development support within LightSwitch to address these scenarios. LightSwitch continues to be the simplest way to create modern line of business applications for the enterprise. This support will be made available in a preview release, coming soon. Stay tuned to the &lt;a href="http://msdn.microsoft.com/en-us/lightswitch/jj129570"&gt;Developer Center&lt;/a&gt; for updates. For more information on today’s announcements, please visit the &lt;a href="http://blogs.msdn.com/b/lightswitch/archive/2012/06/11/announcing-the-lightswitch-html-client.aspx"&gt;LightSwitch team blog&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1157.HTMLapp_5F00_2E4FF49B.png" target="_blank"&gt;&lt;img title="HTMLapp" style="background-image: none; display: inline" border="0" alt="HTMLapp" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6036.HTMLapp_5F00_thumb_5F00_56EE60A2.png" width="704" height="494" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Team Foundation Service Public Preview&lt;/h3&gt;  &lt;p&gt;Today we announced that we’re removing the requirement for an invitation code to the Team Foundation Service. This means anyone can sign up to use the service with no friction. We’ve also introduced a new landing page so that you have a great welcome experience, as well as additional resources. Please visit &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/06/11/team-foundation-service-preview-is-public.aspx"&gt;Brian Harry’s blog&lt;/a&gt; for a complete overview of the &lt;a href="http://www.tfspreview.com/"&gt;Team Foundation Service&lt;/a&gt; updates we released today.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.tfspreview.com/" target="_blank"&gt;&lt;img title="TFS-homepage" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="TFS-homepage" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6574.TFS_2D00_homepage_5F00_0B6F5295.png" width="704" height="596" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Global Service Monitoring coming in System Center 2012 SP1&lt;/h3&gt;  &lt;p&gt;Each release of our ALM tools, we’ve integrated additional roles to improve collaboration across the team, and decrease cycle time. This release (Visual Studio 2012), we’re including operations, which is increasingly important for today’s cloud-based services apps.&lt;/p&gt;  &lt;p&gt;Many of you are already using System Center to monitor your applications in production. Today we’re announcing a new capability under the codename “Global Service Monitor”, which will be enabled with System Center 2012 SP1. Global Service Monitor (GSM) allows you to monitor your application’s functionality, performance, and uptime from multiple endpoints around the world.&lt;/p&gt;  &lt;p&gt;Today I demonstrated how you can import your web tests created in Visual Studio, and schedule them to run against the production application. Operations can easily assign production issues to engineering, so that the data flows and both roles get the info they need. The engineer can also open those issues right in TFS, and review actionable data like IntelliTrace stack traces with method-level parameters:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8637.iTrace_2D00_Debug_2D00_1_5F00_316A244D.png" target="_blank"&gt;&lt;img title="iTrace Debug 1" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="iTrace Debug 1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0714.iTrace_2D00_Debug_2D00_1_5F00_thumb_5F00_335F2569.png" width="704" height="398" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Both operations and engineering get to work in tools they’re familiar with, and have easy access to the information that they need. Gone are the days of phone tag, and hours of iterations just trying to understand what the other team is seeing.&lt;/p&gt;  &lt;h3&gt;Conclusion&lt;/h3&gt;  &lt;p&gt;There’s lots of exciting news and announcements happening here at TechEd. I encourage you to watch the session videos to learn more about these topics.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;http://twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;. &lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10317915" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/ALM/">ALM</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/LightSwitch/">LightSwitch</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Announcement/">Announcement</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+11/">Visual Studio 11</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Windows+8/">Windows 8</category></item><item><title>Gartner Recognizes Microsoft as an ALM Leader</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/06/10/gartner-recognizes-microsoft-as-an-alm-leader.aspx</link><pubDate>Sun, 10 Jun 2012 13:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10315636</guid><dc:creator>Jason Zander</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10315636</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/06/10/gartner-recognizes-microsoft-as-an-alm-leader.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.gartner.com/"&gt;Gartner&lt;/a&gt; recently issued its 2012 Magic Quadrant report for Application Lifecycle Management (ALM). Gartner, one of the world’s top IT research and advising companies, positioned Microsoft in the Leaders Quadrant in the ALM space. You can read more about the Magic Quadrant methodology &lt;a href="http://www.gartner.com/technology/research/methodologies/research_mq.jsp"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1425.image1_5F00_13048664.png" target="_blank"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2502.image1_5F00_thumb_5F00_32472D37.png" width="598" height="624" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;font size="1"&gt;This graphic was published by Gartner, Inc. as part of a larger research document and should be evaluated in the context of the entire document. The Gartner document is available upon request from Microsoft.&lt;/font&gt;&lt;/i&gt;&lt;i&gt;      &lt;br /&gt;&lt;/i&gt;&lt;font size="1"&gt;&lt;i&gt;       &lt;br /&gt;*&lt;/i&gt;&lt;em&gt;Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings. Gartner research publications consist of the opinions of Gartner's research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose.&lt;/em&gt;&lt;/font&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;We’re very excited to share this report, and for the industry recognition of our ALM tools! &lt;/p&gt;  &lt;p&gt;Please note that the 2012 Magic Quadrant report is based on an evaluation of Visual Studio 2010. We believe Microsoft’s position as a leader will continue to grow in Visual Studio 2012, where we’re enabling stronger collaboration and reducing waste at each stage of the product delivery. You can find more information on Visual Studio 2012’s features for continuous value delivery in an &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/05/23/continuous-value-delivery-with-visual-studio-11-alm.aspx"&gt;earlier post&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;In the 2012 Magic Quadrant report, Gartner mentions some trends driving companies that demand an integrated team approach, including enterprise agile and cloud computing . Both of these are core aspects of continuous value delivery, mentioned above. These trends are also present in how we’re building software ourselves in Visual Studio, which you can see with Team Foundation Service, the cloud component of TFS. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Success Stories&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Beyond the feature lists and analyst reports, when I meet with customers and partners, I often find that people are interested to hear stories about how others have integrated our tools into their software lifecycle. In case you’re interested in the same, below are some recent case studies we’ve compiled with examples from a few companies who have realized the benefits of emerging ALM practices through adopting our ALM solutions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/casestudies/Windows-Server-2008-R2/ING-DIRECT-Australia/ING-DIRECT-accelerates-innovation-with-one-click-provisioning-copies-of-the-bank/710000000277"&gt;ING DIRECT accelerates innovation with one-click provisioning copies of the bank&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/casestudies/Microsoft-Visual-Studio-2010-Ultimate/Artizone/Artisan-Food-Delivery-Website-Satisfies-Changing-Tastes-with-Flexible-Development/710000000461"&gt;Artizone Artisan Food-Delivery Website Satisfies Changing Tastes with Flexible Development&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=710000000646"&gt;QuestionMark: Software Company Boosts Productivity 67 Percent with Virtual Test Labs&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;I hope you find this information helpful as you evaluate our ALM solutions. For further reading, you can find the full independent report, “Gartner: Magic Quadrant for Application Life-cycle Management” at the following link: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.gartner.com/technology/reprints.do?id=1-1ASCXON&amp;amp;ct=120606&amp;amp;st=sb"&gt;http://www.gartner.com/technology/reprints.do?id=1-1ASCXON&amp;amp;ct=120606&amp;amp;st=sb&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I also encourage you to visit our new ALM page with further product details at &lt;a href="http://www.microsoft.com/alm"&gt;microsoft.com/alm&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10315636" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/ALM/">ALM</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Announcement/">Announcement</category></item><item><title>TechEd North America starts next week</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/06/08/teched-north-america-starts-next-week.aspx</link><pubDate>Sat, 09 Jun 2012 01:56:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10317745</guid><dc:creator>Jason Zander</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10317745</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/06/08/teched-north-america-starts-next-week.aspx#comments</comments><description>&lt;p&gt;TechEd is our premier conference for developers and IT professionals, and our &lt;a href="http://northamerica.msteched.com/"&gt;North America 2012 event&lt;/a&gt; starts next week.&amp;#160; The event is sold out, and I’m looking forward to joining 10,000 others in Orlando, Florida. :-)&amp;#160; I’ll be presenting as part of the Day One keynote on Monday June 11&lt;sup&gt;th&lt;/sup&gt; at 9am EST.&amp;#160; If you’re unable to attend the event in person, you can also watch the live stream online: &lt;a href="http://msft.it/LiveStream"&gt;http://msft.it/LiveStream&lt;/a&gt;.&amp;#160; Directly after the keynote (around 10:30am EST), I invite you to join me on &lt;a href="http://msft.it/LiveStream"&gt;Channel9&lt;/a&gt; where I’ll be answering questions live onstage.&amp;#160; Make sure to tweet your questions with hashtag &lt;a href="https://twitter.com/#!/search/realtime/%23ch9live"&gt;#ch9live&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;I look forward to hearing from you!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5556.Ch9Live_2D00_latest_5F00_15327757.png" target="_blank"&gt;&lt;img title="Ch9Live-latest" style="display: inline; background-image: none;" border="0" alt="Ch9Live-latest" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3302.Ch9Live_2D00_latest_5F00_thumb_5F00_2DC4A558.png" width="604" height="322"&gt;&amp;#160;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10317745" width="1" height="1"&gt;</description></item><item><title>Announcing the June 2012 Release of Windows Azure SDK for .NET – Now with Support for Visual Studio 2012 RC</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/06/07/announcing-the-june-2012-release-of-windows-azure-sdk-for-net-now-with-support-for-visual-studio-2012-rc.aspx</link><pubDate>Thu, 07 Jun 2012 20:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10315009</guid><dc:creator>Jason Zander</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10315009</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/06/07/announcing-the-june-2012-release-of-windows-azure-sdk-for-net-now-with-support-for-visual-studio-2012-rc.aspx#comments</comments><description>&lt;p&gt;I&amp;rsquo;m excited to announce the release of the Windows Azure SDK for .NET &amp;ndash; June 2012, which is available for immediate download &lt;a href="http://www.windowsazure.com/en-us/develop/net/"&gt;here&lt;/a&gt;. The SDK provides tools for both Visual Studio 2010 SP1 and Visual Studio 2012 RC. Visual Studio 2012 support for the Azure SDK has been a popular request and I&amp;rsquo;m happy to make this available today in coordination with the June 2012 release of Windows Azure. For more information on today&amp;rsquo;s platform release, I recommend visiting &lt;a href="http://weblogs.asp.net/scottgu/archive/2012/06/07/meet-the-new-windows-azure.aspx"&gt;Scott Guthrie&amp;rsquo;s blog&lt;/a&gt; for the overall announcement, as well as the videos from today&amp;rsquo;s &lt;a href="http://meetwindowsazure.com"&gt;Meet Windows Azure event&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In Visual Studio, we focus on providing you with the best possible tools to develop your cloud services. There are two ways we go about doing this. One is the productivity tooling features for Windows Azure apps, which I&amp;rsquo;ll be covering in more detail in this post. The other is the application lifecycle management tools we provide, which help decrease cycle time and enable the team to deploy more quickly (see my &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/05/23/continuous-value-delivery-with-visual-studio-11-alm.aspx"&gt;previous post on continuous value delivery&lt;/a&gt;.) Today we announced new features for developing cloud based services, including continuous integration and continuous deployment. With these new features you can view your deployment history and have it integrated in a nice view:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2235.Deployed_2D00_Builds_2D00_in_2D00_TFS_2D00_Portal_5F00_391F38FC.png" target="_blank"&gt;&lt;img title="Deployed Builds in TFS Portal" style="display: inline; background-image: none;" border="0" alt="Deployed Builds in TFS Portal" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0741.Deployed_2D00_Builds_2D00_in_2D00_TFS_2D00_Portal_5F00_thumb_5F00_545791FD.png" width="554" height="345" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I encourage you to visit &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/06/07/announcing-continuous-deployment-to-azure-with-team-foundation-service.aspx"&gt;Brian Harry&amp;rsquo;s blog&lt;/a&gt; for a more in-depth walkthrough demonstrating what&amp;rsquo;s new.&lt;/p&gt;
&lt;h3&gt;Latest Platform and Tools&lt;/h3&gt;
&lt;p&gt;Building on from last week&amp;rsquo;s blog post &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/05/31/announcing-the-release-candidate-rc-of-visual-studio-2012-and-net-framework-4-5.aspx"&gt;announcing Visual Studio 2012 Release Candidate&lt;/a&gt;, you can now natively build Windows Azure Cloud Services and Windows Azure Web Sites in VS 2012 RC. This follows our principle of delivering tools on a cadence that aligns with the platform. You can also develop solutions that combine Windows Azure projects along with your favorite client projects. You will also have a host of OS options for your developer machine including Windows 7, Windows 2008, Windows 2008 R2, Windows 8 RP and Windows Server 8 RP.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7343.1_2D00_mvc4_2D00_emulator_2D00_iisexpress_5F00_321BDC9E.png" target="_blank"&gt;&lt;img title="1-mvc4-emulator-iisexpress" style="display: inline; background-image: none;" border="0" alt="1-mvc4-emulator-iisexpress" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8836.1_2D00_mvc4_2D00_emulator_2D00_iisexpress_5F00_thumb_5F00_587DBFE9.png" width="554" height="412" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When you develop using Visual Studio 2012 RC you will notice a lighter weight install footprint of the Windows Azure SDK. On a 64bit machine the install package size is roughly 35mb. We were able to do this by enabling the Windows Azure SDK to work with the streamlined IIS Express and SQL 2012 LocalDB development servers that ship with VS2012RC (or chain in as a download for VS 2010 SP1). You will also notice that development with these services will work more seamlessly with little or no configuration and they can run as your signed-in user account. Currently admin-elevation is still a requirement in this release of the tools &amp;ndash; this requirement is something we aim to eliminate in future versions. SQL Server Express and the full IIS Server continue to be supported options for local development as well.&lt;/p&gt;
&lt;p&gt;In the past, in-place upgrades of the Azure SDKs and tools have been problematic. That&amp;rsquo;s why we made it a goal of the release to support side-by-side of the SDK starting with November 2011 and later SDKs. You can install SDKs for November 2011 and June 2012 on the same machine, and continue working using the appropriate SDK version for your project. Additionally cloud developers working in a team can use either Visual Studio 2010 SP1 or Visual Studio 2012 RC so long as the matching version(s) of the SDK are installed. These environments are compatible.&lt;/p&gt;
&lt;h3&gt;Projects&lt;/h3&gt;
&lt;p&gt;You will notice several updates across our projects. First the Windows Azure project has been renamed to Windows Azure Cloud Service, aligning with updated name of the compute container for our infinitely scalable, multi-tier services. You can also continue to add the Cloud Service to any existing web project using the &amp;ldquo;Add Windows Azure Cloud Service&amp;rdquo;. Web project front ends can also be natively published to the new Windows Azure Web Sites Preview compute container. For more information &amp;lt;see this post on WA Web Sites&amp;gt;.&lt;/p&gt;
&lt;p&gt;As we create the Azure projects we now add the most common NuGet packages and binary references used in cloud development, namely runtime, diagnostics, storage and configuration. We add a NuGet package specifically for Windows Azure Storage and we add another package for the all new Windows Azure CloudConfigurationManager. CloudConfigurationManager makes it easy to read config settings using a smart algorithm that first checks your cloud configuration (.cscfg) and falls back to web.config/app.config if the config key or config system is not available. I&amp;rsquo;m excited about this new API because you can more easily access configuration in one line of code, and you will by default leverage a best practice that allows dev-ops to override the config settings in each target environment. NuGet is also a powerful mechanism for cloud developers because it allows you to search our servers for the most up-to-date versions of the Windows Azure client libraries and it also enables update notifications in the NuGet Package Manager.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1563.2_2D00_CloudConfigurationManager_5F00_74224BDF.png" target="_blank"&gt;&lt;img title="2-CloudConfigurationManager" style="display: inline; background-image: none;" border="0" alt="2-CloudConfigurationManager" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4532.2_2D00_CloudConfigurationManager_5F00_thumb_5F00_6D030F67.png" width="554" height="84" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are a few new project template options. As I mentioned earlier we support new web template types such as MVC4 and MVC4 Web API. There are also new templates for Worker Role with Service Bus Queue and Cache Worker Role, which optimize your role for these Windows Azure services. Service Bus developers should check out the new Queues and Topics features of the Service Bus node in Server Explorer.&lt;/p&gt;
&lt;p&gt;For more advanced situations we added a mechanism to include your custom files and folder structure to be installed into the role along with your cloud service. This allows enhanced customization of what gets packaged and deployed to your roles / VMs. Simply right click on roles in your Azure project and Add -&amp;gt; Item.. or Add -&amp;gt; Folder.&lt;/p&gt;
&lt;h3&gt;Windows Azure Virtual Machines Preview (IAAS)&lt;/h3&gt;
&lt;p&gt;Windows Azure Virtual Machines Preview provides a powerful new compute container to run persistent VM workloads. Effectively you can bring your own VM and customize it with the OS and applications of your choice to run your workload. Using the cloud tools in Visual Studio&amp;rsquo;s Server Explorer you can discover important information about the Virtual Machines that you need at development time. E.g. you can easily explore the names and status of all your virtual machines, you can get the DNS name, and expand to see all the endpoints exposed on specific ports like SQL servers or RDP access. Speaking of RDP, Remote Desktop is a common tool used to configure and troubleshoot environment specific behavior in the cloud environment. Now you can right-click on any Virtual Machine, Web or Worker role in Server Explorer and &amp;ldquo;Connect using Remote Desktop&amp;rdquo; if RDP is enabled on the role - without leaving Visual Studio at all.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2553.3_2D00_virtualmachine_2D00_serverexplorer_2D00_rdp_5F00_3D47F799.png" target="_blank"&gt;&lt;img title="3-virtualmachine-serverexplorer-rdp" style="display: inline; background-image: none;" border="0" alt="3-virtualmachine-serverexplorer-rdp" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8322.3_2D00_virtualmachine_2D00_serverexplorer_2D00_rdp_5F00_thumb_5F00_0AE4241A.png" width="554" height="371" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Windows Azure Caching Preview&lt;/h3&gt;
&lt;p&gt;Another cool addition in this release is the ability to stand up your own distributed cache service in your roles and ultimately speed up the performance of your cloud service. This cache service will aggregate all instances in your deployment to provide a highly available distributed cache.&lt;/p&gt;
&lt;p&gt;Visual Studio makes it incredibly easy to stand up the caching service. Simply open your role in the designer and check a box in the Caching tab to &amp;ldquo;Enable Caching&amp;rdquo;. Set a custom cache size value using the slider and customize any other behaviors. An exciting possibility this opens up is to leverage the unused memory and compute power of your existing role instances that you&amp;rsquo;re already paying for. Alternatively you can use the Dedicated Cache Worker Role template to stand up a role that is fully utilized for caching scenarios.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5618.4_2D00_enable_2D00_windows_2D00_azure_2D00_caching_5F00_4AAE0A9F.png" target="_blank"&gt;&lt;img title="4-enable-windows-azure-caching" style="display: inline; background-image: none;" border="0" alt="4-enable-windows-azure-caching" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7840.4_2D00_enable_2D00_windows_2D00_azure_2D00_caching_5F00_thumb_5F00_011EBCA2.png" width="554" height="371" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Leveraging the cache in your clients is easy using the Windows Azure Caching Preview NuGet package. When you add that package it adds the initial boiler plate web.config/app.config required to use Windows Azure instead of the in-memory provider. All you need to do is set the identifier name in the config to match the name of the role containing the cache. Then you can use the Microsoft.ApplicationServer.Caching.* APIs, or with a bit more standard config you can use ASP.NET caching, OutputCache, or SessionCache. More details are covered in this &lt;a href="http://www.windowsazure.com/en-us/develop/net/how-to-guides/cache/"&gt;caching how-to guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8838.5_2D00_consume_2D00_cache_2D00_in_2D00_client_5F00_59E4736C.png" target="_blank"&gt;&lt;img title="5-consume-cache-in-client" style="display: inline; background-image: none;" border="0" alt="5-consume-cache-in-client" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5127.5_2D00_consume_2D00_cache_2D00_in_2D00_client_5F00_thumb_5F00_2E9FDC65.png" width="554" height="329" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Publishing&lt;/h3&gt;
&lt;p&gt;Building on improvements to publishing from the Nov 2011 SDK discussed in this &lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2011/11/14/updated-windows-azure-sdk-amp-windows-azure-hpc-scheduler-sdk.aspx"&gt;Windows Azure Blog&lt;/a&gt; post, we added a few options based on developer feedback. First, there is a new deployment option for simultaneous update of instances. This is useful to speed up publishing times for multi-instance deployments if high availability of the service isn&amp;rsquo;t important (e.g. in a staging environment). This feature walks the instances manually in parallel rather using the default update mechanism that performs updates in one-by-one according to your update domain. Next we decided to have safer defaults for errors &amp;ndash; e.g. if an update deployment fails the tool will no longer automatically retry with a delete and new deployment (however this is still an option in Advanced Settings). Last, there has been feedback suggesting that the automatic configuration of connection strings for Diagnostics and Caching at package build and publish time is too opaque, and instead developers would like this configuration to be more explicit and transparent in your project. Therefore we now do explicit one-time string token replacement of the storage connection string. This token replacement writes directly into the .cscfg file in your project giving you complete control and visibility into the change. You also have option to disable this behavior or change the connection string to something else at any time. All of your preferences for publishing and cloud config settings for the target environment can be saved into one or more config files.&lt;/p&gt;
&lt;p&gt;For business application developers using Visual Studio LightSwitch, you will see an improved experience for publishing LightSwitch applications to Windows Azure. This includes a consistent experience for streamlined configuration by downloading your publish settings file and performing both your new deployments and deployment updates. Providing SDK tools for LightSwitch aligns with Visual Studio LightSwitch being a core part of Visual Studio Professional and higher editions. For more information please visit the &lt;a href="http://blogs.msdn.com/b/lightswitch/archive/2012/06/07/publishing-lightswitch-apps-to-azure-with-visual-studio-2012.aspx"&gt;LightSwitch team blog&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Summary&lt;/h3&gt;
&lt;p&gt;As you can see this is a significant update to the tools you use to develop your cloud applications. We look forward to you getting the SDK and hearing your feedback. For further details check out all the developer resources on the &lt;a href="http://www.windowsazure.com/en-us/develop/net/"&gt;Windows Azure .NET Developer&lt;/a&gt; center.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;http://twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10315009" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Announcement/">Announcement</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+vNext/">Visual Studio vNext</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+11/">Visual Studio 11</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/-NET+Framework/">.NET Framework</category></item><item><title>Announcing Microsoft “Roslyn” June 2012 CTP</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/06/05/announcing-microsoft-roslyn-june-2012-ctp.aspx</link><pubDate>Tue, 05 Jun 2012 18:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10312828</guid><dc:creator>Jason Zander</dc:creator><slash:comments>15</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10312828</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/06/05/announcing-microsoft-roslyn-june-2012-ctp.aspx#comments</comments><description>&lt;p&gt;I’m happy to announce a new Microsoft “Roslyn” CTP release, which is available for immediate download &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=27746"&gt;here&lt;/a&gt;! Roslyn is our long-lead project to rebuild the entire C# and Visual Basic language compilers and Visual Studio language services from the ground up. Long lead projects like these allow us to make larger architectural changes in the product, and enable exciting innovation, while maintaining quality in the product along the way. You can learn more about the Roslyn project on the &lt;a href="http://msdn.microsoft.com/en-US/roslyn"&gt;Visual Studio Developer Center&lt;/a&gt; or &lt;a href="http://blogs.msdn.com/b/somasegar/archive/2011/10/19/roslyn-ctp-available-now.aspx"&gt;Soma’s blog&lt;/a&gt;. Roslyn is a significant endeavor with three key goals:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Build a cleaner architecture across the compilers and IDE experiences. By exposing a set of public APIs from the compilers that the language services build upon, we’ll no longer need to duplicate code across the compilers and IDEs. Moving forward, this will give us much more agility when introducing new language features.&lt;/li&gt;    &lt;li&gt;Enable anyone to build tools or applications that deeply understand source code in the same way that the compilers and IDEs do. In the past, if you wanted to build a tool that works with C# or Visual Basic source code, you were pretty much on your own. Even creating something as simple as a tool to generate HTML for syntax highlighted code was hard. With Roslyn, building such a tool is &lt;i&gt;significantly &lt;/i&gt;easier. In addition, Roslyn opens up new scenarios by providing APIs to enable application scripting, something that traditionally has been much more difficult.&lt;/li&gt;    &lt;li&gt;Create richer C# and Visual Basic IDE experiences in Visual Studio. Roslyn introduces a stream-lined refactoring experience and several new IDE productivity enhancements that focus on making it easy to make modifications to your code. You can even create your own refactorings! Also, Roslyn introduces a brand new Interactive Window (i.e. REPL, or read-eval-print-loop) that allows users to type code and see it immediately evaluated. This is a powerful way to explore a new API, try out an idea, or even build up pieces of an application.&lt;/li&gt;  &lt;/ol&gt;  &lt;p&gt;Ultimately, by providing developers with the infrastructure to build richer “code smart” tools, Roslyn allows us to take the C# and Visual Basic language experiences beyond the current state-of-the-art.&lt;/p&gt;  &lt;p&gt;In addition to providing support for Visual Studio 2012 RC, the June CTP includes several new language features and API updates.&lt;/p&gt;  &lt;h3&gt;Support for Visual Studio 2012 RC&lt;/h3&gt;  &lt;p&gt;Replacing a compiler that is responsible for running a big chunk of the Internet and rich client applications is not something one does lightly. Our general approach for re-architecting the compilers is to complete them before entering a product cycle. That way, we can use them and ensure they have high quality throughout the cycle. Because of this, Roslyn is not shipping as part of Visual Studio 2012 and will ship in a future VS release instead. However, we want to enable anyone who has VS 2012 installed to explore the Roslyn APIs and use the C# Interactive Window. To allow this, the CTP refresh will install on both Visual Studio 2012 RC and Visual Studio 2010 SP1 (note that VS 11 Beta is &lt;i&gt;not&lt;/i&gt; supported).&lt;/p&gt;  &lt;h3&gt;New Language Features&lt;/h3&gt;  &lt;p&gt;We haven’t been sitting still and the list of language features supported by C# and Visual Basic is only &lt;a href="http://msdn.microsoft.com/en-us/library/bb386063(v=vs.110)"&gt;growing in Visual Studio 2012&lt;/a&gt;. However, the Roslyn team is catching up quickly and has &lt;a href="http://go.microsoft.com/fwlink/?LinkID=254240&amp;amp;clcid=0x409"&gt;been implementing the C# and Visual Basic languages&lt;/a&gt; at an extremely fast pace. As each language feature is implemented, we continue to prove the Roslyn architecture by ensuring that it not only compiles, but has great API and IDE tooling support, and works in C# Interactive Window (pictured below).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4812.clip_5F00_image0011_5F00_340A8B9D.png" target="_blank"&gt;&lt;img title="clip_image001[1]" style="display: inline; background-image: none;" border="0" alt="clip_image001[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4503.clip_5F00_image0011_5F00_thumb_5F00_683EB4E3.png" width="554" height="449" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Since the last CTP, several language features have been implemented, such as query expressions, anonymous types, iterators, and &lt;a href="http://go.microsoft.com/fwlink/?LinkID=254240&amp;amp;clcid=0x409"&gt;many more&lt;/a&gt;!&lt;/p&gt;  &lt;h3&gt;Updated APIs&lt;/h3&gt;  &lt;p&gt;Since releasing the first Microsoft “Roslyn” CTP in October, we’ve received tons of great input and have made several positive changes in response to that feedback. A few highlights are listed below:&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;New&lt;/b&gt; Code Formatting API to automatically format C# or Visual basic source code using the appropriate language formatting rules.&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;New&lt;/b&gt; Find All References API to find references to symbols within a solution (pictured below).&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;New&lt;/b&gt; Source Code Generation API to easily generate source code for C# and Visual Basic types and members.&lt;/p&gt;  &lt;p&gt;· Numerous API clarifications, renames, and general improvements based on feedback received from the October 2011 CTP.&lt;/p&gt;  &lt;p&gt;The following example shows using the new Find All References API to locate all of the references to System.String.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7536.clip_5F00_image0021_5F00_3C8DEAE7.png" target="_blank"&gt;&lt;img title="clip_image002[1]" style="display: inline; background-image: none;" border="0" alt="clip_image002[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7230.clip_5F00_image0021_5F00_thumb_5F00_1EAF66E6.png" width="554" height="342" /&gt;&lt;/a&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Please note that due to the number of changes, most projects created with the October 2011 CTP will need to be updated to the latest APIs in order to work with them in the new June 2012 CTP. &lt;/p&gt;  &lt;h3&gt;Conclusion&lt;/h3&gt;  &lt;p&gt;For more information on the Roslyn project and to download the new CTP, you can visit the &lt;a href="http://msdn.com/roslyn"&gt;Roslyn home page&lt;/a&gt; on the Visual Studio developer center. We also invite you to discuss with the team on the &lt;a href="http://go.microsoft.com/fwlink/?LinkId=230758"&gt;Roslyn forum&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10312828" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Announcement/">Announcement</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Roslyn/">Roslyn</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Basic/">Visual Basic</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/C_2300_/">C#</category></item><item><title>June 4th What’s Happening Around Visual Studio</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/06/04/june-4th-whats-happening-around-visual-studio.aspx</link><pubDate>Mon, 04 Jun 2012 22:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10314918</guid><dc:creator>Jason Zander</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10314918</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/06/04/june-4th-whats-happening-around-visual-studio.aspx#comments</comments><description>&lt;p&gt;It’s been a busy week since the RC announcements for Visual Studio 2012, .NET Framework 4.5, and Team Foundation Server 2012.&lt;/p&gt;  &lt;h4&gt;RC Announcements&lt;/h4&gt;  &lt;p&gt;In my &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/05/31/announcing-the-release-candidate-rc-of-visual-studio-2012-and-net-framework-4-5.aspx"&gt;last post&lt;/a&gt; I provided an overview of the latest enhancements across the product. Here’s a rollup of the announcement posts across the team, so that you can explore additional deep dives into the various areas.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Somasegar: &lt;a href="http://blogs.msdn.com/b/somasegar/archive/2012/05/31/visual-studio-2012-and-net-4-5-release-candidates-available-now.aspx"&gt;Visual Studio 2012 and .NET 4.5 Release Candidates available now!&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Brian Harry: &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/05/31/visual-studio-tfs-2012-release-candidate-available-today.aspx"&gt;Visual Studio/TFS 2012 Release Candidate Available Today&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Visual Studio team blog: &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2012/05/31/visual-studio-2012-rc-available-now.aspx"&gt;Visual Studio 2012 RC Available Now!&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;VS ALM + TFS team blog: &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2012/05/31/welcome-to-visual-studio-2012-alm-rangers-readiness-rc-wave.aspx"&gt;Welcome to Visual Studio 2012 ALM Rangers Readiness RC “Wave”&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;VS ALM + TFS team blog: &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2012/06/08/what-s-new-for-microsoft-test-manager-in-vs-2012-rc.aspx"&gt;What's new for Microsoft Test Manager in VS 2012 RC&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;LightSwitch team blog: &lt;a href="http://blogs.msdn.com/b/lightswitch/archive/2012/05/31/what-s-new-in-vs11-lightswitch-rc.aspx"&gt;What's New in LightSwitch for Visual Studio 2012 RC?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;.NET team blog: &lt;a href="http://blogs.msdn.com/b/dotnet/archive/2012/05/31/introducing-the-net-framework-4-5-rc.aspx"&gt;Introducing the .NET Framework 4.5 RC&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;BCL team blog: &lt;a href="http://blogs.msdn.com/b/bclteam/archive/2012/05/30/mef-and-tpl-dataflow-nuget-packages-for-net-framework-4-5-rc.aspx"&gt;MEF and TPL Dataflow NuGet Packages for .NET Framework 4.5 RC [Nick]&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Parallel Programming with .NET blog: &lt;a href="http://blogs.msdn.com/b/pfxteam/archive/2012/05/31/what-s-new-for-parallelism-in-visual-studio-2012-rc.aspx"&gt;What’s New for Parallelism in Visual Studio 2012 RC&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Web Development Tools: &lt;a href="http://blogs.msdn.com/b/webdevtools/archive/2012/05/31/new-features-for-web-development-in-visual-studio-2012-rc.aspx"&gt;New Features for Web Development in Visual Studio 2012 RC&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Scott Hanselman: &lt;a href="http://www.hanselman.com/blog/VisualStudio2012RCIsReleasedTheBigWebRollup.aspx"&gt;Visual Studio 2012 RC is released - The Big Web Rollup&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Howard Dierking: &lt;a href="http://codebetter.com/howarddierking/2012/06/04/web-optimization-in-visual-studio-2012-rc/"&gt;Web Optimization in Visual Studio 2012 RC&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;BlendInsider: &lt;a href="http://blendinsider.com/news/designing-metro-style-apps-in-blend-and-vs-whats-new-in-the-rc-2012-05-31/"&gt;Designing Metro style Apps in Blend and VS: What’s New in the RC? &lt;/a&gt; &lt;/li&gt;    &lt;li&gt;BlendInsider: &lt;a href="http://blendinsider.com/technical/the-nitty-gritty-detailed-list-of-whats-new-in-blend-for-visual-studio-2012-rc-2012-05-31/"&gt;The Nitty Gritty—Detailed List of what’s new in Blend for Visual Studio 2012 RC&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Building Windows 8 blog: &lt;a href="http://blogs.msdn.com/b/b8/archive/2012/05/31/delivering-the-windows-8-release-preview.aspx"&gt;Delivering the Windows 8 Release Preview&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Windows 8 app developer blog: &lt;a href="http://blogs.msdn.com/b/windowsappdev/archive/2012/05/31/what-s-changed-for-app-developers-since-the-consumer-preview.aspx"&gt;What’s changed for app developers since the Consumer Preview&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Windows Store blog: &lt;a href="http://blogs.msdn.com/b/windowsstore/archive/2012/05/31/windows-store-for-release-preview.aspx"&gt;Windows Store for Release Preview&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Developer Tools News Feed&lt;/h4&gt;  &lt;p&gt;You can also view these real-time in the news feed on the new &lt;a href="http://blogs.msdn.com/b/developer-tools/"&gt;Developer Tools blog network&lt;/a&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4048.clip_5F00_image001_5F00_46CD9024.png"&gt;&lt;img title="clip_image001" style="display: inline; background-image: none;" border="0" alt="clip_image001" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4113.clip_5F00_image001_5F00_thumb_5F00_744EAFE7.png" width="554" height="400" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;.NET Framework 4.5 Compatibility&lt;/h4&gt;  &lt;p&gt;I wanted to share a few notes about .NET Framework 4.5 RC, as you set out to evaluate the latest releases. .NET Framework 4.5 RC is part of Windows 8 Release Preview. It is also available as a standalone download for Windows 7, Windows Vista, Windows Server 2008 operating systems.&lt;/p&gt;  &lt;p&gt;.NET 4.5 is an in-place update to .NET 4, with same underlying CLR version. This means that once .NET 4.5 is installed on a computer, all .NET 4 apps run automatically on .NET 4.5. We’ve put in a lot of effort to ensure compatibility of .NET 4 apps on .NET4.5 runtime by testing hundreds of apps in our compatibility lab and partnering with our top customers. We’d also like to ask you to test your .NET 4 apps with .NET Framework 4.5 RC and report any issues by using the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/f8a5aac8-0418-4f88-9d34-bdbe2c4cfe72"&gt;Visual Studio Feedback Tool&lt;/a&gt; or emailing &lt;a href="mailto:netfx45compat@microsoft.com"&gt;netfx45compat@microsoft.com&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10314918" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+vNext/">Visual Studio vNext</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+11/">Visual Studio 11</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/-NET+4-0/">.NET 4.0</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/-NET+Framework/">.NET Framework</category></item><item><title>Announcing the Release Candidate (RC) of Visual Studio 2012 and .NET Framework 4.5</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/05/31/announcing-the-release-candidate-rc-of-visual-studio-2012-and-net-framework-4-5.aspx</link><pubDate>Thu, 31 May 2012 19:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10311850</guid><dc:creator>Jason Zander</dc:creator><slash:comments>120</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10311850</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/05/31/announcing-the-release-candidate-rc-of-visual-studio-2012-and-net-framework-4-5.aspx#comments</comments><description>&lt;p&gt;I’m happy to announce the Release Candidate of Visual Studio 2012, Team Foundation Server 2012, and .NET Framework 4.5. You can find these releases available for download on our &lt;a href="http://go.microsoft.com/fwlink/?LinkId=240162"&gt; Visual Studio product website&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In conjunction with today’s Visual Studio release, Windows has made available a Windows 8 Release Preview. Please visit the &lt;a href="http://blogs.msdn.com/b/b8/archive/2012/05/31/delivering-the-windows-8-release-preview.aspx"&gt;Building Windows 8 blog&lt;/a&gt; for the official announcement by Steven Sinofsky. You can download the Windows 8 Release Preview bits &lt;a href="http://windows.microsoft.com/release-preview"&gt; here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The complete list of Visual Studio 2012 RC features is available on &lt;a href="http://msdn.microsoft.com/en-us/library/bb386063(v=vs.110)"&gt;MSDN&lt;/a&gt;. In this post, I’ll summarize the updates we’ve made in Visual Studio 2012 RC, since the beta. Given where we are in the product cycle, these updates are primarily final touches on existing features, responses to beta customer feedback, and improvements to performance. I’ve &lt;a href="http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Visual-Studio-2012-Release-Candidate"&gt; recorded a video&lt;/a&gt;, so you can also see some of these updates in action.&lt;/p&gt;  &lt;iframe style="width: 512px; height: 288px;" src="http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Visual-Studio-2012-Release-Candidate/player?w=512&amp;amp;h=288" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;br /&gt;  &lt;h2&gt;What’s new in the RC since Beta&lt;/h2&gt;  &lt;h3&gt;Logo &amp;amp; Branding&lt;/h3&gt;  &lt;p&gt;You’ll notice that we’ve updated our product branding from the “11” version number to the 2012 year. This means that the RTM version will release this calendar year!&lt;/p&gt;  &lt;p&gt;You will also notice that we’ve updated our Visual Studio logo to the image below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3201.clip_5F00_image0021_5F00_678087B7.png" target="_blank"&gt; &lt;img title="clip_image002[1]" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image002[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1145.clip_5F00_image0021_5F00_thumb_5F00_5B7E9783.png" width="240" height="46" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Setup&lt;/h3&gt;  &lt;p&gt;One of the first parts of the product you’ll experience is setup. We’ve enabled upgrade from beta to RC, so if you’re using the same product edition (e.g. Professional, Ultimate, etc.), you do not need to uninstall the beta first. Simply run the Visual Studio 2012 RC installer, which will uninstall the right Beta bits and lay down the RC bits, all at once. The only exception is if you’re running on Windows 8 – in that case, you need to first install the Windows 8 Release Preview and then install Visual Studio 2012 RC.&lt;/p&gt;  &lt;p&gt;We’ve made some pretty significant investments in improving the setup experience in Visual Studio 2012 RC. Many of you have already seen the streamlined user interface in the beta. From beta to RC, we reduced the installation time by an additional 20%!&lt;/p&gt;  &lt;p&gt;We also re-introduced customization into the product. We hope you’ll enjoy these improvements that should save you time and make it easier to get the right bits.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5751.clip_5F00_image0031_5F00_36ED09FF.png" target="_blank"&gt; &lt;img title="clip_image003[1]" style="display: inline; background-image: none;" border="0" alt="clip_image003[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1157.clip_5F00_image0031_5F00_thumb_5F00_48CC2E7D.png" width="464" height="451" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Visual Studio 2012 RC Setup customization UI&lt;/i&gt;&lt;/p&gt;  &lt;h3&gt;Performance&lt;/h3&gt;  &lt;p&gt;The performance work done between beta and RC was extensive and covers just about every aspect of the product. There were improvements in XAML (compiler, loading documents, and the design surface), debugging, editing large C++ files, Test Lab Management and the list goes on.&lt;/p&gt;  &lt;p&gt;To give a few examples, we’ve put together some blog posts detailing the process in the team to identify, fix, and monitor these improvements. The first example we discussed was typing and editing responsiveness. I encourage you to &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2012/05/25/visual-studio-11-performance-improvements-in-typing-and-editing-responsiveness.aspx"&gt; read this post&lt;/a&gt;, where you can learn more about the internal performance tools, the product changes that were made, and the resulting impact on responsiveness. In the next post, we’ll cover performance improvements to the Toolbox.&lt;/p&gt;  &lt;h3&gt;User Interface&lt;/h3&gt;  &lt;p&gt;The RC includes a series of improvements to the overall UX, which were based on the beta user feedback. I encourage you to visit the &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2012/05/08/visual-studio-11-user-interface-updates-coming-in-rc.aspx"&gt; Visual Studio team blog&lt;/a&gt; for a more comprehensive post with details on these changes.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4762.UI_5F00_2844EECB.png" target="_blank"&gt; &lt;img title="UI" style="display: inline; background-image: none;" border="0" alt="UI" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8585.UI_5F00_thumb_5F00_45B9D088.png" width="554" height="348" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Visual Studio 2012 RC light theme&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;After the &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2012/05/08/visual-studio-11-user-interface-updates-coming-in-rc.aspx"&gt; Visual Studio team post&lt;/a&gt; on the above mentioned changes, we received requests for more information on the Visual Studio 2012 dark theme (a personal favorite). Earlier this week, we published a &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2012/05/29/visual-studio-dark-theme.aspx"&gt; blog post&lt;/a&gt; with the roadmap for the dark theme, showing changes in the RC as well as others coming in RTM. I encourage you to take a look and see what’s in store ahead.&lt;/p&gt;  &lt;h3&gt;IDE&lt;/h3&gt;  &lt;p&gt;The IDE improvements in RC focus on responses to customer feedback, polishing features, and performance improvements.&lt;/p&gt;  &lt;p&gt;We &lt;a href="http://connect.microsoft.com/VisualStudio/feedback/details/734756/visual-studio-11-text-search-scope-is-shared-between-quick-find-and-find-in-files"&gt; received feedback&lt;/a&gt; about the shared scope and options between Quick Find and Find-in-Files in the beta. Since then, we released an extension to help address this in the short term, and have now included that update in the RC release. With the RC, you can now perform a Quick Find without automatically changing the scope setting in Find-in-Files as well.&lt;/p&gt;  &lt;p&gt;Solution Explorer is an example of an area where we made some tweaks to round out the experience and polish the feature in RC. We found that the Solution Explorer toolbar was overflowing, so we removed commands that already have other placements in the IDE (e.g. context menus, key bindings, menus) and don’t affect the solution view or project hierarchy.&lt;/p&gt;  &lt;p&gt;For large solutions, it can be hard to find items in Solution Explorer. In the RC, we’ve introduced Solution Explorer filtering to help you scope to the relevant content and focus on whatever is important for your current task. This way, you can restrict Solution explorer to show just the files you're currently working with. The new filtering options include Pending Changes and Open Files, and can be found under the button shown below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2543.clip_5F00_image0061_5F00_40D71CCC.png" target="_blank"&gt; &lt;img title="clip_image006[1]" style="display: inline; background-image: none;" border="0" alt="clip_image006[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3716.clip_5F00_image0061_5F00_thumb_5F00_35415F8D.png" width="343" height="150" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Finally, we improved the Quick Launch performance, so that search results are returned nearly instantaneously now.&lt;/p&gt;  &lt;h3&gt;Metro style apps&lt;/h3&gt;  &lt;p&gt;If you plan to build Metro style apps, make sure to install Visual Studio 2012 RC on a machine with the Windows 8 Release Preview. There are a number of enhancements for building Metro style apps in the RC release.&lt;/p&gt;  &lt;h4&gt;Metro style apps using XAML&lt;/h4&gt;  &lt;p&gt;First off, there are some new Metro style app templates, including a new Windows Runtime Component template for C# and VB developers, and a new DLL project template for C++ developers. There have also been improvements to the existing templates. For example, the templates now fully support keyboard and mouse navigation, in addition to touch. Furthermore, XAML support is now added to the Direct2D template. The XAML Blank App has also been simplified.&lt;/p&gt;  &lt;p&gt;The Visual Studio XAML and Blend designers have been enhanced in the RC. You can now preview and edit the design of your Metro style app, for view states such as FullScreenLandscape, FullScreenPortrait, Filled, and Snapped. This is done through the Device panel, which automatically changes visual states when the View is changed.&amp;#160; Below you can see an example of the Snapped visual state.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3113.clip_5F00_image0071_5F00_30CADEC6.png" target="_blank"&gt; &lt;img title="clip_image007[1]" style="display: inline; background-image: none;" border="0" alt="clip_image007[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0181.clip_5F00_image0071_5F00_thumb_5F00_69781984.png" width="554" height="495" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Selecting “Enable state recording” (above) will enable changes made on the Design Surface or Property Inspector to alter the currently selected visual state rather than always making changes to Base.&lt;/p&gt;  &lt;p&gt;Adding theme animations from the Animation library in your app’s visual states, is now easy to do using Blend’s visual state design feature. The Animation library is a suite of Metro style animations that has been built specifically to take advantage of the platform’s animation capability. These animations are used throughout Windows UI and are also available for your Metro app. Select the desired state in the States pane, then the storyboard in the Objects &amp;amp; Timeline to see the state storyboard’s properties, including Theme Animations as shown in the screenshot below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0576.clip_5F00_image009_5F00_04443F91.jpg" target="_blank"&gt; &lt;img title="clip_image009" style="display: inline; background-image: none;" border="0" alt="clip_image009" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4300.clip_5F00_image009_5F00_thumb_5F00_11AA5297.jpg" width="554" height="434" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;There have been a number of performance improvements for Metro style apps using XAML. Examples include better support for IRandomAccessStream from .NET, more aggressively reclaiming memory upon Metro app suspend, and the introduction of .NET performance testing in the Windows App Certification Kit. We also enabled Multi-Core JIT for Metro style apps and improved the algorithm by which Metro style apps are optimized for performance with NGEN.&lt;/p&gt;  &lt;h4&gt;Metro style apps using JavaScript&lt;/h4&gt;  &lt;p&gt;When it comes to editing Metro style Javascript applications, Blend has introduced a host of new features for the RC release. One of these features is a new way to organize Winning Rule in the styles pane, and is called “Arrange by: Source” mode.&amp;#160; In this mode you can easily see where all of your element’s CSS properties come from.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0576.clip_5F00_image011_5F00_08BD5109.jpg" target="_blank"&gt; &lt;img title="clip_image011" style="display: inline; background-image: none;" border="0" alt="clip_image011" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6862.clip_5F00_image011_5F00_thumb_5F00_5D0C870C.jpg" width="282" height="541" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We’ve also created editors for simplified editing of gradients and 2D transforms:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3618.clip_5F00_image013_5F00_63535D9A.jpg" target="_blank"&gt; &lt;img title="clip_image013" style="display: inline; background-image: none;" border="0" alt="clip_image013" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6862.clip_5F00_image013_5F00_thumb_5F00_14E15BE1.jpg" width="554" height="578" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Finally, we put a lot of focus on productivity and refactoring gestures.&amp;#160; This includes context menus to quickly and easily edit classnames and create CSS rules from an elements ID or classnames.&amp;#160; It also includes the ability to cut, copy, paste and clear CSS properties in order to easily enable moving CSS properties in between CSS rules.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7853.clip_5F00_image015_5F00_7E221457.jpg" target="_blank"&gt; &lt;img title="clip_image015" style="display: inline; background-image: none;" border="0" alt="clip_image015" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8422.clip_5F00_image015_5F00_thumb_5F00_728C5718.jpg" width="280" height="229" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For more information on using the RC for Metro style app development, I recommend visiting the &lt;a href="http://blogs.msdn.com/b/windowsappdev/archive/2012/05/31/what-s-changed-for-app-developers-since-the-consumer-preview.aspx"&gt;Windows 8 App developer blog&lt;/a&gt; for a summary of what’s new in the Windows 8 RP for developers, as well as &lt;a href="http://blendinsider.com/"&gt;BlendInsider&lt;/a&gt; for further details on Blend.&lt;/p&gt;  &lt;h3&gt;ASP.NET 4.5&lt;/h3&gt;  &lt;p&gt;ASP.NET Web Forms has been updated to fully support the new async “await” keyword. Page events and control events can now be marked as “async” and utilize the new async support added in .NET 4.5”.&lt;/p&gt;  &lt;p&gt;MVC 4 projects now include Entity Framework 5 which has full support for “migrations” allowing developers to keep their code and databases in sync as changes are made.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0412.clip_5F00_image0161_5F00_200D76DC.jpg" target="_blank"&gt; &lt;img title="clip_image016[1]" style="display: inline; background-image: none;" border="0" alt="clip_image016[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1172.clip_5F00_image0161_5F00_thumb_5F00_100138D6.jpg" width="554" height="351" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Enabling Database Migrations in ASP.NET MVC 4 via NuGet Console&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;ASP.NET MVC now also renders HTML 5 by default so when displaying the Person model the following HTML will be emitted now: id=&amp;quot;BirthDate&amp;quot; name=&amp;quot;BirthDate&amp;quot; type=&amp;quot;datetime&amp;quot; value=&amp;quot;5/31/2012 12:00:00 AM&amp;quot;&lt;/p&gt;  &lt;h3&gt;Web tools&lt;/h3&gt;  &lt;p&gt;If you’re doing web development, you’ll notice a handful of updates in the RC. First off, we’ve updated some of the project templates. We made the MVC4 Empty template truly empty, and renamed the original empty template to now be called the “Basic” template. We also improved the performance of the New Project creation time.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2577.clip_5F00_image018_5F00_762D02A6.jpg" target="_blank"&gt; &lt;img title="clip_image018" style="display: inline; background-image: none;" border="0" alt="clip_image018" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6864.clip_5F00_image018_5F00_thumb_5F00_5F6DBB1D.jpg" width="580" height="525" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You’ll also notice some IDE improvements. For example, we now support the ability to run an app from Visual Studio in multiple browsers, through a more discoverable UI.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4336.clip_5F00_image0191_5F00_6A2DA323.png" target="_blank"&gt; &lt;img title="clip_image019[1]" style="display: inline; background-image: none;" border="0" alt="clip_image019[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6215.clip_5F00_image0191_5F00_thumb_5F00_65B7225C.png" width="246" height="165" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;There’s a host of additional web tooling improvements. For example, HTML and CSS editor enhancements, including updated HTML5 IntelliSense and SVG support. We also updated the publish UI to support incremental database schema preview. The Page Inspector experience has been improved, such that we no longer add web.config appSettings key VisualStudioDesignTime:Enabled, as page inspector will work with server side code as long as it’s in debug mode. For more information on these updates, as well as the complete list of web improvements in Visual Studio 2012 RC, please visit the &lt;a href="http://blogs.msdn.com/b/webdevtools/"&gt; Web Development Tools blog&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;LightSwitch&lt;/h3&gt;  &lt;p&gt;For LightSwitch projects, there are several new features that we’ve lit up in RC. Last March, we published a preview of the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/dc25522b-4a60-4f19-a5f8-bdec898f6599?SRC=Featured"&gt; LightSwitch Cosmopolitan Shell &amp;amp; Theme on the VS Gallery&lt;/a&gt; to give LightSwitch applications a more modern look-and-feel and corporate branding.&amp;#160; Since then, we’ve fixed a significant number of community reported visual bugs and improving readability (such as adding data grid lines). Based on the positive feedback, we’ve now made the Cosmopolitan Shell &amp;amp; Theme the default UI for new projects (shown below). &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0523.clip_5F00_image0211_5F00_4C4F1F22.jpg" target="_blank"&gt; &lt;img title="clip_image021[1]" style="display: inline; background-image: none;" border="0" alt="clip_image021[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0820.clip_5F00_image0211_5F00_thumb_5F00_7559BE1E.jpg" width="554" height="438" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Another change that we made based on customer feedback was to add the application logo to the login screen for applications using forms authentication. It will show up once you deploy the application. Furthermore, we have significantly improved the performance of core data operations, which in turn improves many application scenarios (querying, paging, loading data in a list/grid, etc.). You can find more information about LightSwitch updates in RC on the &lt;a href="http://blogs.msdn.com/b/lightswitch/"&gt; LightSwitch team blog&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/lightswitch/hh852657"&gt; Developer Center&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;Team Foundation Server&lt;/h3&gt;  &lt;p&gt;There were a few updates to TFS since the beta. The first is the ability to use SQL backups of existing Team Foundation Server instances to create (upgrade) a new Team Foundation instance during the initial setup.&amp;#160; The second is the ability to automatically add new features to existing projects using older Team Project Templates when upgrading – this has been one of the most requested upgrade features for Team Foundation Server.&lt;/p&gt;  &lt;p&gt;The Team Foundation Server team also improved the user interfaces with updates such as the ability to collapse/expand iterations in Team Web access and the addition of personal and favorite queries in pending changes – which makes it simple to drag and drop related work items to a pending checkin.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8030.clip_5F00_image0231_5F00_02BFD125.jpg" target="_blank"&gt; &lt;img title="clip_image023[1]" style="display: inline; background-image: none;" border="0" alt="clip_image023[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2273.clip_5F00_image0231_5F00_thumb_5F00_772A13E5.jpg" width="554" height="384" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For more information on the TFS 2012 RC release, please visit &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/05/31/visual-studio-tfs-2012-release-candidate-available-today.aspx" target="_blank"&gt; Brian Harry’s blog&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;Testing Tools&lt;/h3&gt;  &lt;p&gt;Most of the testing improvements in the RC focused around customer feedback on the beta, as well as a variety of performance and scalability improvements (for example, reducing the size of the output files from test runs and code coverage result).&lt;/p&gt;  &lt;h4&gt;Coded UI Features&lt;/h4&gt;  &lt;p&gt;Visual Studio 2012 RC includes a new feature for the analysis of Coded UI Test playback logs, which filters and logs important information for you in a more readable format. Using the actionable information in the Coded UI Test logs, you should able to debug issues more quickly. For example, here’s a picture of the new log, after running a Coded UI Test on a failure case: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8715.CUITFullLog_5F00_35FD1B81.png" target="_blank"&gt;&lt;img title="CUITFullLog" style="display: inline; background-image: none;" border="0" alt="CUITFullLog" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4188.CUITFullLog_5F00_thumb_5F00_1BC1D3BF.png" width="554" height="334" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here, you can see a step by step view of all the actions and useful information that were captured by the new logger:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7318.CUITwithError_5F00_4D4FD205.png" target="_blank"&gt;&lt;img title="CUITwithError" style="display: inline; background-image: none;" border="0" alt="CUITwithError" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6761.CUITwithError_5F00_thumb_5F00_3CD7610A.png" width="554" height="465" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We’ve also made enhancements to the extensibility APIs for Coded UI, to better support integration of 3&lt;sup&gt;rd&lt;/sup&gt; party controls.&lt;/p&gt;  &lt;h4&gt;Microsoft Test Manager&lt;/h4&gt;  &lt;p&gt;To make it even easier to get up and running using Microsoft Test Manager, we’ve integrated a Media Foundation based Video Recorder so you no longer have to install the Expression Encoder to create video recordings of your test cases.&lt;/p&gt;  &lt;h3&gt;Architectural Tools&lt;/h3&gt;  &lt;p&gt;In RC the Architecture Tools include new facilities for understanding the structural relationships between elements of the code. You can now use contextual commands on selected code elements in a dependency graph to find, for example, all the types derived directly or indirectly from another type, or the methods that call a selected method:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1411.Find_2D00_related_2D00_code_5F00_7E42A11B.png" target="_blank"&gt;&lt;img title="Find related code" style="display: inline; background-image: none;" border="0" alt="Find related code" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8764.Find_2D00_related_2D00_code_5F00_thumb_5F00_54CE5FDB.png" width="554" height="442" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can also see what is causing a dependency link between higher level components (e.g. namespaces), by drilling into that link to see the contributing dependency links between subcomponents (e.g. types or methods):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5810.clip_5F00_image0271_5F00_2611E72C.jpg" target="_blank"&gt; &lt;img title="clip_image027[1]" style="display: inline; background-image: none;" border="0" alt="clip_image027[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1513.clip_5F00_image0271_5F00_thumb_5F00_3A2B03B5.jpg" width="554" height="390" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On the UX side, it’s now possible to apply different layouts to the contents of individual group nodes, including a new “List View” compact layout:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2480.Choose_2D00_the_2D00_layout_2D00_of_2D00_a_2D00_group_5F00_26776ADF.png" target="_blank"&gt;&lt;img title="Choose the layout of a group" style="display: inline; background-image: none;" border="0" alt="Choose the layout of a group" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8764.Choose_2D00_the_2D00_layout_2D00_of_2D00_a_2D00_group_5F00_thumb_5F00_3D394319.png" width="554" height="391" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;“Go Live” License&lt;/h2&gt;  &lt;p&gt;As with the beta, Visual Studio 2012 RC ships with a “Go Live” license. This means that you can use the product to build apps that run in production. For more information on the “Go Live” terms and how to get support if you need it, please visit the &lt;a href="http://go.microsoft.com/fwlink/p/?LinkId=242590"&gt; Visual Studio 2012 RC website&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;Related Resources&lt;/h2&gt;  &lt;p&gt;Here’s a list of related resources to help you get started with the RC:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=240160"&gt; Visual Studio 2012 RC Product Website&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio"&gt; Visual Studio Developer Center&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio/ee358787#VS2011"&gt; Visual Studio ALM Rangers solutions page&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/netframework/hh854779.aspx"&gt; .NET Framework Developer Center&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://dev.windows.com/"&gt; Windows Dev Center&lt;/a&gt;&lt;/li&gt;  &lt;/ul&gt;  &lt;h2&gt;Tell Us What You Think About the RC&lt;/h2&gt;  &lt;p&gt;As usual, we’re looking forward to hearing from you about your experience with the release. Please feel free to contact us through the following channels:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Ask a question on the &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/category/vsvnext"&gt; Visual Studio&lt;/a&gt; or &lt;a href="http://social.msdn.microsoft.com/Forums/en-us/category/windowsapps"&gt; Windows&lt;/a&gt; forums&lt;/li&gt;    &lt;li&gt;File a bug on the &lt;a href="http://connect.microsoft.com/visualstudio"&gt; Visual Studio&lt;/a&gt;, &lt;a href="http://connect.microsoft.com/lightswitch"&gt; LightSwitch&lt;/a&gt;, or &lt;a href="http://connect.microsoft.com/blend"&gt; Blend&lt;/a&gt; Connect sites (or with the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/f8a5aac8-0418-4f88-9d34-bdbe2c4cfe72"&gt; Visual Studio Feedback Tool&lt;/a&gt;)&lt;/li&gt;    &lt;li&gt;Submit a suggestion on &lt;a href="http://visualstudio.uservoice.com/"&gt; UserVoice&lt;/a&gt;&lt;/li&gt;  &lt;/ul&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt; &lt;a href="http://twitter.com/jlzander"&gt; &lt;i&gt;twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10311850" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/LightSwitch/">LightSwitch</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Announcement/">Announcement</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+vNext/">Visual Studio vNext</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+11/">Visual Studio 11</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/-NET+Framework/">.NET Framework</category></item><item><title>Welcome to the new blog design</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/05/30/welcome-to-the-new-blog-design.aspx</link><pubDate>Wed, 30 May 2012 21:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10311769</guid><dc:creator>Jason Zander</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10311769</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/05/30/welcome-to-the-new-blog-design.aspx#comments</comments><description>&lt;p&gt;Redesigning our blogs reminded me of painting the walls at home. It&amp;rsquo;s one of those things you never have the time to get around to, but are happy when you finally do!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/ken_mayer/3550715379/sizes/m/in/photostream/" target="_blank"&gt;&lt;img title="clip_image002" style="display: inline; background-image: none;" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4530.clip_5F00_image002_5F00_608997B7.jpg" width="203" height="154" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;a href="http://www.flickr.com/photos/ken_mayer/3550715379/sizes/m/in/photostream/"&gt;(source)&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a picture of my old blog theme, as a reminder:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6683.JasonzOldBlog_5F00_00387180.png" target="_blank"&gt;&lt;img title="JasonzOldBlog" style="display: inline; background-image: none;" border="0" alt="JasonzOldBlog" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8640.JasonzOldBlog_5F00_thumb_5F00_1D412048.png" width="554" height="398" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We updated the design for a number of the developer tools blogs, and also created a &lt;a href="http://blogs.msdn.com/b/developer-tools" target="_blank"&gt;network&lt;/a&gt; tying them together. (You can learn more about the new blog network on the &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2012/05/30/welcome-to-the-developer-tools-blog-network.aspx" target="_blank"&gt;Visual Studio team blog&lt;/a&gt;.) Beyond updating the style, there were a few things we wanted to do with the redesign. Of course we wanted to make it easy to read, comment on, and subscribe to posts. We also wanted to make it easy to share and discuss the posts with others, by adding social media buttons. Finally, we wanted to provide additional ways to connect with us, by including video and Twitter feeds.&lt;/p&gt;
&lt;p&gt;I hope you enjoy this refresh, and the additional integration. I&amp;rsquo;m looking forward to continuing many more conversations here in the future.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10311769" width="1" height="1"&gt;</description></item><item><title>My Favorite Features: Managing Projects with the Backlog, Sprint Planning and Taskboard Features in Team Foundation Server 11</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/05/29/my-favorite-features-managing-projects-with-the-backlog-sprint-planning-and-taskboard-features-in-team-foundation-server-11.aspx</link><pubDate>Tue, 29 May 2012 15:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10309730</guid><dc:creator>Jason Zander</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10309730</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/05/29/my-favorite-features-managing-projects-with-the-backlog-sprint-planning-and-taskboard-features-in-team-foundation-server-11.aspx#comments</comments><description>&lt;p&gt;In my &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/05/23/continuous-value-delivery-with-visual-studio-11-alm.aspx"&gt;earlier post on Continuous Value Delivery&lt;/a&gt;, I talked about the role that features like the backlog, sprint planning, and taskboard play in tracking requirements and managing the development process. In this post, I&amp;rsquo;ll dive deeper into what this all looks like in action. I&amp;rsquo;ve been using these features in my personal coding projects against the new Team Foundation Service preview (&lt;a href="http://www.tfspreview.com"&gt;http://www.tfspreview.com&lt;/a&gt;). However, they will ship as a part of Team Foundation Server 11 as well.&lt;/p&gt;
&lt;h3&gt;Backlog Management&lt;/h3&gt;
&lt;p&gt;Each one of my projects has a healthy list of items I need to work on. I use the Visual Studio 11 Scrum process template, so the work items in my list are called Product Backlog Items, or PBIs. If you&amp;rsquo;re using one of the other available templates, these work items would be known as User Stories, Requirements, or something different. Regardless of the name and definition of the work item, the Product Backlog features work exactly the same.&lt;/p&gt;
&lt;p&gt;One of the first things you&amp;rsquo;ll notice is the new UI we&amp;rsquo;ve built in our Team Foundation Server web client. It&amp;rsquo;s designed to be very simple to use and optimized for common tasks like adding new PBIs, assigning PBIs to upcoming iterations, and even forecasting progress through the backlog.&lt;/p&gt;
&lt;h4&gt;Adding Work&lt;/h4&gt;
&lt;p&gt;Let&amp;rsquo;s start with adding and prioritizing work. First off, how do you add something new to the Product Backlog? At the top of the backlog is a small panel we call the &amp;ldquo;add panel&amp;rdquo;. You can turn this panel on or off using the view filters on the right side of the page.&lt;/p&gt;
&lt;p&gt;Figure 1 &amp;ndash; The Add Panel&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0250.Figure_2D00_1_5F00_59B7BEE6.png" target="_blank"&gt;&lt;img title="Figure 1" style="display: inline; background-image: none;" border="0" alt="Figure 1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8875.Figure_2D00_1_5F00_thumb_5F00_428C4468.png" width="554" height="331" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When turned on, you simply select the work item type, enter a title, and click Add. The new work item is then added to your product backlog above the item you had selected.&lt;/p&gt;
&lt;p&gt;Figure 2 - Adding a new PBI&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7608.Figure_2D00_2_5F00_089D017C.png" target="_blank"&gt;&lt;img title="Figure 2" style="display: inline; background-image: none;" border="0" alt="Figure 2" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8284.Figure_2D00_2_5F00_thumb_5F00_31A7A078.png" width="554" height="331" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The add panel has a set of defaults associated with it that automatically set work item field values for you. This is nice because it allows you to enter details in your work item forms that aren&amp;rsquo;t &amp;ldquo;in your face&amp;rdquo; each time you want to work with the backlog. (Please note, however, that we don&amp;rsquo;t allow work item customization on the Team Foundation Service Preview at this time.) Below is a screenshot after the PBI has been added.&lt;/p&gt;
&lt;p&gt;Figure 3 - PBI Added&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7217.Figure_2D00_3_5F00_41B66F2F.png" target="_blank"&gt;&lt;img title="Figure 3" style="display: inline; background-image: none;" border="0" alt="Figure 3" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4064.Figure_2D00_3_5F00_thumb_5F00_2F017578.png" width="554" height="331" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can also open any work item quickly on the backlog to fill out additional details. In this case, let&amp;rsquo;s put an estimate on the new requirement we just added. As I&amp;rsquo;m sure many of you do, I&amp;rsquo;ve been using the &lt;a href="http://en.wikipedia.org/wiki/Planning_poker"&gt;Fibonacci sequence&lt;/a&gt; to do my estimating for items on my backlogs. In this case, we&amp;rsquo;ll add an estimate of three. You can also see in the form that I&amp;rsquo;m able to add a detailed description to the PBI as well as acceptance criteria that define when this PBI will be done.&lt;/p&gt;
&lt;p&gt;Figure 4 - Adding an Effort Estimate&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8787.Figure_2D00_4_5F00_2A1EC1BC.png" target="_blank"&gt;&lt;img title="Figure 4" style="display: inline; background-image: none;" border="0" alt="Figure 4" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0777.Figure_2D00_4_5F00_thumb_5F00_45571ABD.png" width="554" height="331" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Prioritizing Work&lt;/h4&gt;
&lt;p&gt;Now that you&amp;rsquo;ve seen how easy it is to add new work, let&amp;rsquo;s talk about probably the most common use of the product backlog &amp;ndash; prioritizing work. This is where things start to get really fun. Let&amp;rsquo;s now use our example above and move the new PBI we just added to the top of the backlog. To do this, we&amp;rsquo;ll just click and drag it up to the top (as pictured below). If we want to move it down, we do the same. It&amp;rsquo;s really simple.&lt;/p&gt;
&lt;p&gt;Figure 5 - Reprioritizing the Backlog&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8206.Figure_2D00_5_5F00_49D02C35.png" target="_blank"&gt;&lt;img title="Figure 5" style="display: inline; background-image: none;" border="0" alt="Figure 5" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0876.Figure_2D00_5_5F00_thumb_5F00_5DE948BE.png" width="554" height="331" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We can also use these drag and drop features to assign work to an upcoming sprint. To place a PBI in an upcoming sprint we simply drag it over to the list of sprints on the left side of the screen, as shown below.&lt;/p&gt;
&lt;p&gt;Figure 6 - Sprint Assignment&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4405.Figure_2D00_6_5F00_06F3E7BB.png" target="_blank"&gt;&lt;img title="Figure 6" style="display: inline; background-image: none;" border="0" alt="Figure 6" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3513.Figure_2D00_6_5F00_thumb_5F00_222C40BC.png" width="554" height="331" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Once that&amp;rsquo;s done you&amp;rsquo;ll notice that the Iteration Path field is updated to reflect the sprint selected. Again, you can see how the UI has been designed to make common tasks like this simple.&lt;/p&gt;
&lt;h4&gt;Forecasting Progress&lt;/h4&gt;
&lt;p&gt;The final feature I want to highlight on the on Product Backlog is something called &amp;ldquo;forecast lines&amp;rdquo;. What are these forecast lines? Well, they&amp;rsquo;re simply a way to use your existing velocity (the amount of effort you&amp;rsquo;re able to complete in each sprint) and overlay that on top of your backlog. By doing this, you can start to forecast how the remaining backlog will lay out over future sprints. Let&amp;rsquo;s take a look.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m going to start by turning on the forecast lines by clicking the forecast toggle just above the backlog. You&amp;rsquo;ll then notice a set of horizontal lines drawn through your backlog at set intervals. In this example, my velocity is 15 units of effort.&lt;/p&gt;
&lt;p&gt;Figure 7 - Forecast Lines&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3823.Figure_2D00_7_5F00_4F412D8A.png" target="_blank"&gt;&lt;img title="Figure 7" style="display: inline; background-image: none;" border="0" alt="Figure 7" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4812.Figure_2D00_7_5F00_thumb_5F00_1866D944.png" width="554" height="330" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The forecast lines are showing me that based on a forecast of 15, I can complete the first four items on my backlog. The forecast is also telling me that item five on my backlog is too big for me to complete in the next sprint (sprint 5). If this is a problem, I can simply reprioritize by dragging and dropping. I can also change my estimated velocity, as shown below, to see how the forecast changes.&lt;/p&gt;
&lt;p&gt;Figure 8 - Adjust Velocity Estimates&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4428.Figure_2D00_8_5F00_085A9B3E.png" target="_blank"&gt;&lt;img title="Figure 8" style="display: inline; background-image: none;" border="0" alt="Figure 8" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4431.Figure_2D00_8_5F00_thumb_5F00_3E5F1A4B.png" width="554" height="423" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s important to note that forecast lines aren&amp;rsquo;t actually changing the plan. For example, you&amp;rsquo;ll see that the Iteration Path values remain unchanged when the forecast is turned on. Forecast lines are just another tool you can use to help you better understand the work your team is doing.&lt;/p&gt;
&lt;h3&gt;Planning and Running a Sprint&lt;/h3&gt;
&lt;p&gt;After your backlog is created and prioritized, the final step is to actually do some work! In our example we&amp;rsquo;ve already added a few items into Sprint 5. I&amp;rsquo;m going to now click on Sprint 5 to open the sprint planning view. Here, I can assign work to members of my team, load balance the work across the sprint, and break down each PBI into a set of actionable tasks. There are some options here to help you understand capacity per team member and capacity per activity. But I obviously don&amp;rsquo;t use those features much for my personal coding project, as I&amp;rsquo;m just a team of one. J That said, I&amp;rsquo;d encourage you to check them out as they are designed to help you make a strong commitment to your sprint.&lt;/p&gt;
&lt;p&gt;Figure 9 - Planning a Sprint&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3441.Figure_2D00_9_5F00_3C252240.png" target="_blank"&gt;&lt;img title="Figure 9" style="display: inline; background-image: none;" border="0" alt="Figure 9" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3343.Figure_2D00_9_5F00_thumb_5F00_520E9490.png" width="554" height="341" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After my plan is set, I use the taskboard to track progress on my work. The new taskboard is designed to make this really simple. You just drag and drop tasks from left to right as they move from &amp;ldquo;Not Started&amp;rdquo;, to &amp;ldquo;In Progress&amp;rdquo;, to &amp;ldquo;Done&amp;rdquo;. It&amp;rsquo;s easy to update hours on the board, and you can see your overall progress on the live burndown chart.&lt;/p&gt;
&lt;p&gt;Figure 10 - Taskboard&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5428.Figure_2D00_10_5F00_21E749CD.png" target="_blank"&gt;&lt;img title="Figure 10" style="display: inline; background-image: none;" border="0" alt="Figure 10" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4527.Figure_2D00_10_5F00_thumb_5F00_1F411ECD.png" width="554" height="341" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re also using these tools ourselves, to develop the Visual Studio product. I&amp;rsquo;ve included a picture below of one of our own teams here in Redmond using the taskboard during a daily standup.&lt;/p&gt;
&lt;p&gt;Figure 11 - Daily Standup&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8640.Figure_2D00_11_5F00_335A3B56.png" target="_blank"&gt;&lt;img title="Figure 11" style="display: inline; background-image: none;" border="0" alt="Figure 11" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7288.Figure_2D00_11_5F00_thumb_5F00_2685069A.png" width="554" height="454" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The icing on the cake is that all my tasks for the sprint show up directly in Visual Studio 11 in the My Work pane, as shown below. And when I check-in my changes, the tasks are automatically closed, and the hours zero&amp;rsquo;d out.&lt;/p&gt;
&lt;p&gt;Figure 12 - My Work in Visual Studio 11&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5531.Figure_2D00_12_5F00_79FE6764.png" target="_blank"&gt;&lt;img title="Figure 12" style="display: inline; background-image: none;" border="0" alt="Figure 12" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3806.Figure_2D00_12_5F00_thumb_5F00_5E5C6C1F.png" width="554" height="342" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;As you start using Team Foundation Server 11, I hope your teams find success managing your backlogs and executing sprints with these new features. To learn more, I recommend visiting &lt;a href="http://msdn.microsoft.com/en-us/library/hh500404(v=vs.110)"&gt;MSDN&lt;/a&gt;. I&amp;rsquo;m looking forward to hearing your feedback and learning more about your experience with the new tools.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10309730" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/ALM/">ALM</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+vNext/">Visual Studio vNext</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+11/">Visual Studio 11</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Favorite+Feature/">Favorite Feature</category></item><item><title>My Favorite Features: Creating Storyboards with PowerPoint</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/05/24/my-favorite-features-creating-storyboards-with-powerpoint.aspx</link><pubDate>Thu, 24 May 2012 17:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10309723</guid><dc:creator>Jason Zander</dc:creator><slash:comments>17</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10309723</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/05/24/my-favorite-features-creating-storyboards-with-powerpoint.aspx#comments</comments><description>&lt;p&gt;In my &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/05/23/continuous-value-delivery-with-visual-studio-11-alm.aspx"&gt;last post on Continuous Value Delivery&lt;/a&gt;, I talked the importance of communication between the customer and the engineering team to arrive at a clear project definition. How many times have you built exactly what was asked for, but not what was wanted? Agile teams need the right communication tools to eliminate waste at this stage in the software lifecycle. In this post, I&amp;rsquo;d like to talk about PowerPoint Storyboarding, a new feature we built to help express and illustrate the intent of each item on the backlog. As the saying goes, &amp;ldquo;A picture is worth a thousand words&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;While working on my apps, I need a quick way to mockup UI and test different workflows before I start coding. I have PowerPoint on my machine, which I use all the time for presentations, so it&amp;rsquo;s quick and easy for me to mock things up there. In my case, these designs were primarily for my own review and brainstorming; however, this becomes even more valuable in a team environment where you can attach and link storyboards directly to items on the backlog.&lt;/p&gt;
&lt;h3&gt;Prerequisites&lt;/h3&gt;
&lt;p&gt;Here are the specific prerequisite versions that you&amp;rsquo;ll need to follow along with this post. [Added May 29, 2012]&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To create and modify storyboards by using PowerPoint Storyboarding, you must have installed either Office PowerPoint 2007 or later, and one of the following versions: Microsoft Visual Studio 11 Test Professional Beta, Visual Studio 11 Premium Beta or Visual Studio 11 Ultimate Beta.&lt;/li&gt;
&lt;li&gt;To view storyboards that were created using PowerPoint Storyboarding, you must have either Office PowerPoint 2007 or later installed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Building the Storyboard&lt;/h3&gt;
&lt;p&gt;Once you have these components installed, just&amp;nbsp;fire up PowerPoint and open up the Storyboarding tab. Click on the Storyboard Shapes button to open the new shapes toolbar (shown below). The shapes in the toolbar work just like traditional shapes in PowerPoint; however, we&amp;rsquo;ve added some magic to preserve aspect ratios and help make the process of building a Storyboard really easy.&lt;/p&gt;
&lt;p&gt;Figure 1 - Storyboard Shapes&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8231.Figure_2D00_1_5F00_24084D47.png" target="_blank"&gt;&lt;img title="Figure 1" style="display: inline; background-image: none;" border="0" alt="Figure 1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0211.Figure_2D00_1_5F00_thumb_5F00_28152BCA.png" width="554" height="344" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The first think you&amp;rsquo;ll often want to do is add a background. I&amp;rsquo;ll do this by double-clicking one of the backgrounds from the toolbar. In this case, we&amp;rsquo;re going to grab the Tablet (landscape) background. If you&amp;rsquo;re a more advanced PowerPoint user you can place the background on a Layout slide. Next I&amp;rsquo;ll add a few additional shapes from the toolbar to create the look and feel we&amp;rsquo;re after.&lt;/p&gt;
&lt;p&gt;Figure 2 - Adding a Background&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8625.Figure_2D00_2_5F00_3C2E4853.png"&gt;&lt;img title="Figure 2" style="display: inline; background-image: none;" border="0" alt="Figure 2" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6175.Figure_2D00_2_5F00_thumb_5F00_6B7FBDDD.png" width="554" height="345" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not too concerned about the details on this first slide as I just want to convey intent (in fact we don&amp;rsquo;t want to make things look too perfect, or the customer might think it&amp;rsquo;s done ;). Next, I&amp;rsquo;ll add a slide that speaks more to the feature I&amp;rsquo;m designing. In this case, I&amp;rsquo;m building a feature for my app that allows the user to select from a list of options. First, I&amp;rsquo;ll add a charm bar to the page that I&amp;rsquo;ll use to access the options.&lt;/p&gt;
&lt;p&gt;Figure 3 &amp;ndash; Building the Flow&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0602.Figure_2D00_3_5F00_4277AF92.png" target="_blank"&gt;&lt;img title="Figure 3" style="display: inline; background-image: none;" border="0" alt="Figure 3" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6746.Figure_2D00_3_5F00_thumb_5F00_18973B5D.png" width="554" height="344" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Next, I&amp;rsquo;ll build out the options page by grabbing a list object, resizing it to fit the screen, and then adding a few on/off toggle buttons, which you might recognize from tablet and phone applications.&lt;/p&gt;
&lt;p&gt;Figure 4 &amp;ndash; Designing the Options page&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5076.Figure_2D00_4_5F00_6F22FA1C.png" target="_blank"&gt;&lt;img title="Figure 4" style="display: inline; background-image: none;" border="0" alt="Figure 4" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3857.Figure_2D00_4_5F00_thumb_5F00_60E711DD.png" width="554" height="344" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As you can see, in just a few slides, the storyboard is beginning to show my plan for the application.&lt;/p&gt;
&lt;h3&gt;Custom Shapes&lt;/h3&gt;
&lt;p&gt;I often find that I&amp;rsquo;m re-using the same group of shapes. I&amp;rsquo;ve found the &amp;ldquo;Add to My Shapes&amp;rdquo; feature very convenient for this. I can highlight all the shapes I added to my options slide and select &amp;ldquo;Add to My Shapes&amp;rdquo; from the ribbon (as shown below). This places this new shape into my shapes toolbar so I can re-use it on additional slides. You can even export the shapes to share with other members of your team.&lt;/p&gt;
&lt;p&gt;Figure 4 - Custom Shapes&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4113.Figure_2D00_5_5F00_14566EEC.png" target="_blank"&gt;&lt;img title="Figure 5" style="display: inline; background-image: none;" border="0" alt="Figure 5" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1067.Figure_2D00_5_5F00_thumb_5F00_7F677D29.png" width="554" height="345" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Gathering Feedback&lt;/h3&gt;
&lt;p&gt;Before you know it, as I continue adding more slides and inserting more shapes, I end up with a PowerPoint presentation that communicates what I&amp;rsquo;m planning to build. The real beauty here is that I can get things &amp;ldquo;right&amp;rdquo; before I invest too much time coding. A storyboard like this can be used to solicit feedback from stakeholders and can even be linked or attached directly to a backlog item. Your customers all have PowerPoint, so it&amp;rsquo;s a familiar tool that they can easily pick up and use.&lt;/p&gt;
&lt;p&gt;One of the most powerful aspects of Storyboarding is that you can convey the flow of the app you&amp;rsquo;re building interactively, not just with a set of pictures. Because PowerPoint has built in presentation features like slide transitions, you can create a click-through storyboard, which allows customers to navigate between screens and even simulate the application gestures. Add a new slide for each screen, include a bit of animation, and you&amp;rsquo;ve got something that looks and feels like the real thing.&lt;/p&gt;
&lt;p&gt;In fact, a good portion of Visual Studio 11 and Team Foundation Server 11 was spec&amp;rsquo;d using this tool. I&amp;rsquo;ve gotten really used to communicating my ideas in this way, and am using this feature all the time now.&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;I hope you have an opportunity to give PowerPoint Storyboarding a try, and save some time by communicating with these designs in your team. For more information, please read about Storyboarding on &lt;a href="http://msdn.microsoft.com/en-us/library/hh301773(v=vs.110)"&gt;MSDN&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10309723" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Tutorial/">Tutorial</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/ALM/">ALM</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+vNext/">Visual Studio vNext</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+11/">Visual Studio 11</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Favorite+Feature/">Favorite Feature</category></item><item><title>Continuous Value Delivery with Visual Studio 11 ALM</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/05/23/continuous-value-delivery-with-visual-studio-11-alm.aspx</link><pubDate>Wed, 23 May 2012 22:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10309340</guid><dc:creator>Jason Zander</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10309340</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/05/23/continuous-value-delivery-with-visual-studio-11-alm.aspx#comments</comments><description>&lt;p&gt;In the next couple of posts, I&amp;rsquo;m going to dive into some of my favorite ALM features coming in Visual Studio 11. In this post, I&amp;rsquo;d like to first provide some framing on the larger context for the release, so you can see how these features fit in.&lt;/p&gt;
&lt;p&gt;At each stage of the application lifecycle, it&amp;rsquo;s important to ensure that you&amp;rsquo;re accruing value to the customer. Any overhead or waste in the system detracts from this goal. By using the right development tools, you can create transparency between team members, reduce delivery cycle times, and accelerate the flow. With Visual Studio 11, we&amp;rsquo;re taking our Application Lifecycle Management solution to the next level by enabling stronger collaboration between functional teams and helping reduce waste at each stage of the product delivery. Let&amp;rsquo;s see what this means for each of the three stages below.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0576.clip_5F00_image0014_5F00_351A82D8.png" target="_blank"&gt;&lt;img title="clip_image001[4]" style="display: inline; background-image: none;" border="0" alt="clip_image001[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1565.clip_5F00_image0014_5F00_thumb_5F00_02B6AF59.png" width="554" height="305" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Define&lt;/h4&gt;
&lt;p&gt;The project starts with defining the requirements. But communicating requirements from the customer to the engineering team is not always easy. How many times have you built exactly what was asked for, but not what was wanted? Your software has to connect all members of the project, using tools that they&amp;rsquo;re comfortable with. PowerPoint storyboarding is a natural solution for this. (More details coming in the next post.)&lt;/p&gt;
&lt;p&gt;Setting out to start the project, there&amp;rsquo;s a lot of planning required and decisions to make. You need to decide what core customer problems you want to solve and in what priority (product backlog). You also need to check how this fits with your resources (capacity planning) and schedule the work (sprint planning). Finally you need to track progress against the plan and make adjustments as you go (managing tasks). Team Foundation Server 11 provides tools to help with all of these activities, and keep the project on track. I&amp;rsquo;ll show how this all works in an upcoming post.&lt;/p&gt;
&lt;h4&gt;Develop&lt;/h4&gt;
&lt;p&gt;The next phase of the cycle is building the software. During development, we want to make sure we eliminate drift and make the cycle faster. The longer the time between a feature request and the team delivering, the more likely disconnects become. Rather than wait a long time, when it becomes expensive to fix, we want to get feedback early and often. To help with this, Visual Studio 11 introduces a new feedback tool which allows the customer to collect video and audio of the feedback session as well as the action logs. This kind of rich feedback done in a timely way keeps everyone in sync.&lt;/p&gt;
&lt;p&gt;In order to deliver high quality products, we need to assess and monitor along the way. Unit testing is a great way to ensure quality in the final product. (You can see my &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/05/22/my-favorite-features-unit-testing-enhancements-in-visual-studio-11.aspx" target="_blank"&gt;previous post&lt;/a&gt; on enhancements to unit testing in the Visual Studio 11 release.) Once the software has been finished by the development team, you need to do your quality assurance passes. For this, you can use the manual and coded testing features from VS 2010, as well as the new &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2012/03/12/getting-started-with-exploratory-testing.aspx" target="_blank"&gt;Exploratory Testing&lt;/a&gt; tools in Visual Studio 11 to help look for additional issues.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Operate&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Now we get to the final stage of operating software and delivering its business value. This is where the relationship between the application development and the IT operations teams becomes critical. You need to be able to diagnose issues as they occur in production, and deploy new builds quickly to respond to customer needs. And again, each team needs to be able to work with tools they&amp;rsquo;re familiar and comfortable with.&lt;/p&gt;
&lt;p&gt;In Visual Studio 11, we&amp;rsquo;ve taken a first step towards adding tools to operate software better. We&amp;rsquo;ve integrated &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/04/11/preemptive-analytics-in-visual-studio-and-tfs-11.aspx"&gt;Preemptive Analytics&lt;/a&gt; into the product, which provides production telemetry such as your top crash reports. We&amp;rsquo;ve also introduced the new &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/04/17/better-together-tfs-2010-and-system-center-2012.aspx"&gt;management pack&lt;/a&gt;, which allows critical production issues detected by System Center to be immediately assigned to the development team with high quality diagnostic information via TFS and Visual Studio. This allows developers and operators to use familiar purpose built tools that still manage to talk to each other seamlessly.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Video&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve included a video presentation below, where I talk about these concepts further. I recommend viewing to gain a deeper understanding of the themes discussed in this post, and our Microsoft vision for ALM.&lt;/p&gt;
&lt;p&gt;&lt;iframe style="width: 956px; height: 484px;" src="http://channel9.msdn.com/Events/ALM-Summit/2011/The-Microsoft-Vision-for-ALM/player?w=956&amp;amp;h=484" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;The Visual Studio 11 ALM feature set marks an important step forward in enabling teams to work together more swiftly. However, we also know we&amp;rsquo;re on a journey. Continuous value delivery means the development cycle doesn&amp;rsquo;t end for us either. We&amp;rsquo;re going to be thinking of new features every day, shipping &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/03/27/visual-studio-ultimate-roadmap.aspx"&gt;Ultimate Feature Packs&lt;/a&gt;, and delivering the same value to you that you deliver to your customers.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10309340" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/ALM/">ALM</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+vNext/">Visual Studio vNext</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+11/">Visual Studio 11</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/DevOps/">DevOps</category></item><item><title>My Favorite Features: Unit Testing Enhancements in Visual Studio 11</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/05/22/my-favorite-features-unit-testing-enhancements-in-visual-studio-11.aspx</link><pubDate>Tue, 22 May 2012 19:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10309078</guid><dc:creator>Jason Zander</dc:creator><slash:comments>25</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10309078</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/05/22/my-favorite-features-unit-testing-enhancements-in-visual-studio-11.aspx#comments</comments><description>&lt;p&gt;I&amp;rsquo;ve been writing a set of posts on some of my favorite Visual Studio 11 features that I&amp;rsquo;m using in my personal development. In my &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/05/10/my-favorite-features-improved-tooling-in-visual-studio-11-for-javascript-developers.aspx"&gt;last post&lt;/a&gt;, I talked about JavaScript tooling enhancements. In this post, I&amp;rsquo;d like to talk about the new unit testing features. Unit testing is an important step in the development process, and is something we are doing throughout the team in Visual Studio. I&amp;rsquo;ve also been writing unit tests while working on my personal coding projects.&lt;/p&gt;
&lt;h4&gt;Third-Party Test Frameworks&lt;/h4&gt;
&lt;p&gt;Developers who are passionate about unit testing will often tell you why their favorite framework is the best. With Visual Studio 11, we wanted to give people a top-notch, developer-focused experience that let them use whatever framework they wanted. To add a unit testing framework to your development environment, just install the plugin from the Visual Studio Extension Manager (pictured below) or the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/"&gt;Visual Studio Gallery&lt;/a&gt; online.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4174.image_5F00_50B72363.png" target="_blank"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0755.image_5F00_thumb_5F00_576A2CE6.png" width="554" height="357" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are many test framework plugins available at this point, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NUnit&lt;/li&gt;
&lt;li&gt;xUnit.net&lt;/li&gt;
&lt;li&gt;MbUnit&lt;/li&gt;
&lt;li&gt;QUnit&lt;/li&gt;
&lt;li&gt;Jasmine&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And of course we still have the built-in test &amp;ldquo;MS-Test&amp;rdquo; framework for .NET code, as well as a new framework for C++ code.&lt;/p&gt;
&lt;h4&gt;Writing Tests with NUnit&lt;/h4&gt;
&lt;p&gt;Let&amp;rsquo;s take a look at the example of &lt;a href="http://www.nunit.org/"&gt;NUnit&lt;/a&gt;. The NUnit team shipped an adapter for Visual Studio 11 Beta &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2012/03/08/what-s-new-in-visual-studio-11-beta-unit-testing.aspx" target="_blank"&gt;on the same day the beta was released&lt;/a&gt; and just recently released an update with some important bug fixes. Getting started is as easy as installing the NUnit Test Adapter for Visual Studio 11 Beta &lt;a href="http://visualstudiogallery.msdn.microsoft.com/6ab922d0-21c0-4f06-ab5f-4ecd1fe7175d"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In this example, I&amp;rsquo;m using a test project, which is a .NET Class Library with a reference to NUnit.Framework.dll. Here&amp;rsquo;s a quick NUnit test to show how this works.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/4338.image_5F00_1A8C3299.png" target="_blank"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/0131.image_5F00_thumb_5F00_456496AB.png" width="554" height="325" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Then click &amp;ldquo;Run All&amp;rdquo; in the Unit Test Explorer window and see the results.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7612.clip_5F00_image005_5F00_287A6D15.png" target="_blank"&gt;&lt;img title="clip_image005" style="display: inline; background-image: none;" border="0" alt="clip_image005" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2806.clip_5F00_image005_5F00_thumb_5F00_4F488355.png" width="277" height="461" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This ability to use different third party unit testing frameworks, and even to mix them within a single solution, was a major ask from our customers over the years. Now you can easily extend your experience to let your team use the unit testing engine they prefer.&lt;/p&gt;
&lt;h4&gt;Running Tests Continuously&lt;/h4&gt;
&lt;p&gt;As you&amp;rsquo;re writing tests and code, and running the tests in-between each step, you may find it gets a bit tedious to constantly switch back and forth. In Visual Studio 11, you can now configure the Test Explorer to automatically run unit tests after each successful build. This is a real time-saver because it makes the test run feel like it&amp;rsquo;s part of the build.&lt;/p&gt;
&lt;p&gt;Thinking about your unit tests as part of the build is a natural thing. For a long time, teams have used continuous integration servers to build and run tests for every check-in. Now you can get that same outcome on your local machine.&lt;/p&gt;
&lt;p&gt;To turn it on, just toggle the &amp;ldquo;Run Tests After Build&amp;rdquo; option in the Test Explorer toolbar.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7608.clip_5F00_image007_5F00_2403EC4E.png" target="_blank"&gt;&lt;img title="clip_image007" style="display: inline; background-image: none;" border="0" alt="clip_image007" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5226.clip_5F00_image007_5F00_thumb_5F00_35E0801B.png" width="297" height="332" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The nice thing about this feature is that it lets you focus on the code and not on the other tool windows in Visual Studio. Only when things fail do you stop to look around and see what happened.&lt;/p&gt;
&lt;h4&gt;Debugging a Test When Something Goes Wrong&lt;/h4&gt;
&lt;p&gt;When a test fails, there are a few ways to figure out what went wrong. First, you can check the test runner, which provides rich exception information. In cases when that&amp;rsquo;s not enough, it can be useful to view the test with the debugger. With Visual Studio 11, you can debug NUnit tests the same way you debug other managed tests. To do this, simply right click on the test in the Test Explorer and choose &amp;ldquo;Debug Selected Tests&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/3005.clip_5F00_image009_5F00_2397B959.png" target="_blank"&gt;&lt;img title="clip_image009" style="display: inline; background-image: none;" border="0" alt="clip_image009" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8284.clip_5F00_image009_5F00_thumb_5F00_2A4AC2DC.png" width="478" height="344" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Analyzing My Test Results&lt;/h4&gt;
&lt;p&gt;There are a number of analytics you may want to perform on your unit tests, and the most common one people use is code coverage. We significantly simplified the experience around collecting code coverage information for your unit tests, and enabled it to work with your 3&lt;sup&gt;rd&lt;/sup&gt; party unit test projects. As pictured below, let&amp;rsquo;s select &amp;ldquo;Analyze Code Coverage&amp;rdquo; in the Test Explorer.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1325.clip_5F00_image011_5F00_30FDCC5F.png" target="_blank"&gt;&lt;img title="clip_image011" style="display: inline; background-image: none;" border="0" alt="clip_image011" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/2818.clip_5F00_image011_5F00_thumb_5F00_1EB5059D.png" width="458" height="353" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now when the run completes, it will open the Visual Studio Code Coverage Results window, and display editor highlighting so I can easily determine where more test coverage may be required.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6646.image_5F00_39F7DBDA.png" target="_blank"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/1854.image_5F00_thumb_5F00_40AAE55D.png" width="554" height="430" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can also easily check the coverage for a test (or a set of tests) by right clicking on what you want to analyze and selecting &amp;ldquo;Analyze Code Coverage&amp;rdquo;. This can be very handy when adding tests to existing code. The in-editor coverage coloring let you see exactly what parts of your code were run by the tests you selected.&lt;/p&gt;
&lt;h4&gt;Unit Testing Browser-based Javascript&lt;/h4&gt;
&lt;p&gt;Part of my recent application was browser based, and used a lot of the new stuff shipping with ASP.NET MVC in Visual Studio 11. If you want to unit test Javascript, you can use &lt;a href="http://qunitjs.com/" target="_blank"&gt;QUnit&lt;/a&gt; (the unit testing framework &lt;a href="http://docs.jquery.com/QUnit" target="_blank"&gt;used by JQuery&lt;/a&gt;) with the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/f8741f04-bae4-4900-81c7-7c9bfb9ed1fe" target="_blank"&gt;Chutzpah adapter available on the Visual Studio Gallery&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/7215.image_5F00_754B4198.png" target="_blank"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/8304.image_5F00_thumb_5F00_0727D566.png" width="554" height="357" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As you can see, the QUnit tests are discovered and executed in the same experience as other unit tests. The extensibility of VS 11 unit testing makes supporting additional unit test framework like QUnit as simple as getting (or writing) an appropriate plugin that supports that system.&lt;/p&gt;
&lt;h4&gt;Unit Testing Native C++ Applications&lt;/h4&gt;
&lt;p&gt;As mentioned earlier, we also have the ability in Visual Studio 11 to do native unit testing, with a new C++ unit testing framework shipping in the box. We&amp;rsquo;re really happy to enable this support for our C++ developers, so you no longer need to use the &amp;ldquo;/clr&amp;rdquo; flag or fall back to 3rd party frameworks.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a quick example:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/6131.clip_5F00_image0027_5F00_46F1BBEB.jpg" target="_blank"&gt;&lt;img title="clip_image002[7]" style="display: inline; background-image: none;" border="0" alt="clip_image002[7]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15-metablogapi/5557.clip_5F00_image0027_5F00_thumb_5F00_34A8F529.jpg" width="554" height="339" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For a full-fledged sample application, I recommend checking out the &lt;a href="http://hilo.codeplex.com/"&gt;Hilo project&lt;/a&gt;, by the Patterns &amp;amp; Practices team, which now includes native C++ unit tests.&lt;/p&gt;
&lt;p&gt;To learn more about native unit testing in Visual Studio 11, please visit &lt;a href="http://aka.ms/vs11-unit-testing-native-code"&gt;MSDN&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Conclusion&lt;/h4&gt;
&lt;p&gt;In this post, we reviewed a range of new improvements for unit testing. These came about by the team focusing on a couple of key customer goals:&lt;/p&gt;
&lt;p&gt;1. Flexibility &amp;ndash; Use whatever test framework your team prefers&lt;/p&gt;
&lt;p&gt;2. Simplicity &amp;amp; Consistency &amp;ndash; Get a simple, consistent experience that lets developers focus on their work&lt;/p&gt;
&lt;p&gt;I hope you will have an opportunity to try out the new Visual Studio 11 unit testing features. For more information, please visit &lt;a href="http://msdn.microsoft.com/en-us/library/dd264975(v=vs.110)"&gt;MSDN&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander"&gt;&lt;i&gt;twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10309078" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Testing/">Testing</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/ALM/">ALM</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+vNext/">Visual Studio vNext</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+11/">Visual Studio 11</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Favorite+Feature/">Favorite Feature</category></item><item><title>My Favorite Features: Improved Tooling in Visual Studio 11 for JavaScript Developers</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/05/10/my-favorite-features-improved-tooling-in-visual-studio-11-for-javascript-developers.aspx</link><pubDate>Thu, 10 May 2012 19:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10269575</guid><dc:creator>Jason Zander</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10269575</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/05/10/my-favorite-features-improved-tooling-in-visual-studio-11-for-javascript-developers.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;I&amp;rsquo;ve been working on some coding projects lately, and spending a lot of time in Visual Studio 11. I wanted to start a series to share some of my favorite features that I&amp;rsquo;ve enjoyed using in the product. One feature that I ended up using a lot, while working with jquery and jquerymobile, is the new JavaScript tooling support.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;IntelliSense&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;The first thing you&amp;rsquo;ll notice when doing JavaScript development in Visual Studio 11 is IntelliSense. After using it, you might forget that you&amp;rsquo;re working in a dynamic language! The JavaScript editor has been completely rewritten on top of the same Chakra runtime that ships in IE10, which means that IntelliSense is more responsive, accurate and scalable than ever before.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;The engine was designed to accommodate the development of both web and Metro style apps, so that regardless which platform you&amp;rsquo;re targeting, you&amp;rsquo;ll get the same rich IntelliSense experience. You can see examples of this in the table below.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;table border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="79" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; Host API&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="560" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; Sample Screenshot&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="79" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; WinRT&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="560" valign="top"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/0272.WinRT_5F00_IntelliSense.png" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/0272.WinRT_5F00_IntelliSense.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="79" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; WinJS&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="560" valign="top"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/6567.WinJS.png" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/300x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/6567.WinJS.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="79" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; JavaScript&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&amp;nbsp; (ES5)&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="560" valign="top"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/2061.JS_5F00_ES5.png" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/300x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/2061.JS_5F00_ES5.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="79" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; DOM&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="560" valign="top"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/7103.DOM.png" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/7103.DOM.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="79" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; HTML5&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="560" valign="top"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/0068.HTML5.png" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/375x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/0068.HTML5.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;i&gt;Examples of using IntelliSense against various host-provided APIs&lt;/i&gt;&lt;/p&gt;
&lt;h3&gt;Third-Party Libraries&lt;/h3&gt;
&lt;p&gt;The JavaScript community is extremely active, and as a result, produces an almost constant flow of reusable components and libraries. This strong ecosystem makes it great to be a JavaScript developer, and we appreciate that everyone has their own favorite libraries. To ensure that a developer&amp;rsquo;s preferences don&amp;rsquo;t inhibit their IntelliSense experience, the JavaScript editor has been designed to recognize and support modern third-party libraries so that you get a &amp;ldquo;native&amp;rdquo;-like experience when consuming their APIs. You can see examples of this below.&lt;/p&gt;
&lt;table border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="95" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; Library&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="560" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; Sample Screenshot&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="95" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; jQuery&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="560" valign="top"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/8561.jQuery.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/400x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/8561.jQuery.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/1122.jQuery.png"&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/4784.jQuery.png"&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/3108.jQuery.png" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="95" valign="top"&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; RequireJS&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; + jQuery&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;i&gt;&amp;nbsp;Using the&lt;br /&gt;&lt;/i&gt;&lt;i&gt;&amp;nbsp; RequireJS&lt;br /&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&lt;a href="https://github.com/jrburke/requirejs-intellisense"&gt;extension&lt;/a&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="560" valign="top"&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/6811.RequireJS.png" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/6811.RequireJS.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;i&gt;Examples of using IntelliSense against 3&lt;sup&gt;rd&lt;/sup&gt; party libraries&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;These examples highlight a couple of interesting new features that make the IntelliSense support so compelling in VS11:&lt;/p&gt;
&lt;p&gt;1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IntelliSense is available for parameters within DOM event handlers&lt;/p&gt;
&lt;p&gt;2)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Any child scripts that a library requests will be automatically downloaded and made available for IntelliSense&lt;/p&gt;
&lt;p&gt;In addition, library authors have the ability to augment the IntelliSense experience (as RequireJS has done in the example above). This way, when a library makes use of a pattern that the IntelliSense engine doesn&amp;rsquo;t understand the semantics about, the library can provide this information. This ensures that developers continue to get an amazing editing experience while library authors can be as expressive as they want when designing their API.&lt;/p&gt;
&lt;h3&gt;Enhancing IntelliSense with XML Doc Comments&lt;/h3&gt;
&lt;p&gt;Despite how accurate IntelliSense is, JavaScript is ultimately a dynamic language. Therefore, there are still times when the value of an object is too ambiguous for the editor to know what you expect to see when accessing it. For those instances, you can provide &amp;ldquo;hints&amp;rdquo;, in the form of &lt;a href="http://msdn.microsoft.com/en-us/library/hh524453(v=vs.110).aspx"&gt;XML doc comments&lt;/a&gt;, which explicitly declare your completion list expectations. This feature has been in Visual Studio for a few releases, and has been enhanced in Visual Studio 11 to make it easier to use.&lt;/p&gt;
&lt;p&gt;One neat enhancement is the ability to annotate the &lt;i&gt;value&lt;/i&gt; of an object, as opposed to its &lt;i&gt;type &lt;/i&gt;(constructor function). Simply provide an example of what the object&amp;rsquo;s value &lt;i&gt;could be&lt;/i&gt; and IntelliSense will take care of the rest. This allows you to define an IntelliSense-only &amp;ldquo;type&amp;rdquo; without having to modify your existing API.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/6180.options_5F00_settingOne.png" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/6180.options_5F00_settingOne.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;options.settingOne being recognized as a Number because of the value annotation&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;The &lt;i&gt;value&lt;/i&gt; attribute can be set to any JavaScript expression which allows you to get as creative as you want in order to ensure you get exactly the IntelliSense you&amp;rsquo;re looking for.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/5543.options_5F00_gameCanvas.png" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/5543.options_5F00_gameCanvas.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;options.gameCanvas being set to an &amp;lt;canvas&amp;gt; due to the execution of a jQuery selector&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Once you get the hang of using doc comments, they can help speed up your development. For more details about how to use them, make sure to read the &lt;a href="http://msdn.microsoft.com/en-us/library/hh524453(v=vs.110).aspx"&gt;documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Debugging&lt;/h2&gt;
&lt;p&gt;Another place where I really felt the difference in Visual Studio 11 was with the JavaScript debugging. It saved me a couple of times!&lt;/p&gt;
&lt;p&gt;When you begin debugging your app, you&amp;rsquo;ll immediately notice a couple of new tool windows: DOM Explorer and JavaScript Console. Both of these windows help you understand the browser&amp;rsquo;s interpretation of your app and perform quick and iterative updates without having to interrupt your debugging session.&lt;/p&gt;
&lt;h3&gt;DOM Explorer&lt;/h3&gt;
&lt;p&gt;Regardless whether you&amp;rsquo;re developing a web app or a Metro style app, you&amp;rsquo;re writing your UI in HTML and CSS. Trying to visualize a given page&amp;rsquo;s DOM, as well as the exact CSS properties needed to style it in the way you want, can become a daunting task for any non-trivial application. With the DOM Explorer, you can easily find an element in the DOM tree (by clicking the &lt;i&gt;Select Element&lt;/i&gt; button), view the CSS properties that are applied to it, and tweak them on the fly. I&amp;rsquo;ve found this makes it a lot easier to perform &amp;ldquo;guess-and-check&amp;rdquo; operations on my HTML and CSS that would otherwise have taken a lot of time if I had to keep modifying my code and restarting the debugger.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/6076.DOM_5F00_Explorer.png" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/800x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/6076.DOM_5F00_Explorer.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/2210.DOM_5F00_Explorer.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Viewing a &amp;lt;p&amp;gt; element in the DOM along with the CSS styles that are applied to it&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Any change you make will be immediately reflected in your running application. For example, if I change the &lt;i&gt;color&lt;/i&gt; property (shown in the &lt;i&gt;Trace Styles&lt;/i&gt; tab) of the currently selected &lt;i&gt;&amp;lt;p&amp;gt;&lt;/i&gt; tag to &amp;ldquo;red&amp;rdquo; and then switch back to my Metro style app, all of the headers will be red.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/1261.Metro_5F00_style_5F00_App.png" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/700x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/1261.Metro_5F00_style_5F00_App.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/8814.Metro_5F00_style_5F00_App.png" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I can continue to try different colors, experiment with various fonts, or make any other change to my app and get immediate visual feedback on how it would look. Pretty easy!&lt;/p&gt;
&lt;p&gt;You can find more information on the DOM Explorer on &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh441474(v=vs.110).aspx#InteractiveDebugging"&gt;MSDN&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;JavaScript Console&lt;/h3&gt;
&lt;p&gt;While the DOM Explorer allows visual interaction with your app, the JavaScript Console allows you programmatic access. You can use it to execute any JavaScript expression, which provides a &lt;a href="http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop"&gt;REPL&lt;/a&gt; for testing out arbitrary code.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/0763.JavaScriptConsole.png" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/700x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/0763.JavaScriptConsole.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I commonly find myself using the console to test code before adding it to my source. This iterative approach allows me to quickly validate some logic without having to worry about restarting the debugger in between revisions. Like the DOM Explorer, the console&amp;rsquo;s effects are reflected immediately, so you can view your changes in the running app as you make them.&lt;/p&gt;
&lt;p&gt;For more information on the JavaScript Console, including custom console commands, please visit &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh441474(v=vs.110).aspx#InteractiveConsole"&gt;MSDN&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I also recommend visiting the &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2012/04/10/javascript-debugging-enhancements.aspx"&gt;Visual Studio blog&lt;/a&gt; for a great post on additional JavaScript debugging enhancements.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Whether you&amp;rsquo;re a seasoned JavaScript expert, or newly interested in the language, I hope you&amp;rsquo;ll have an opportunity to try out the new JavaScript tools in Visual Studio 11. Between the rich IntelliSense and the debugging capabilities of the DOM Explorer and the JavaScript Console, there are a lot of new features to explore.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Follow me at&amp;nbsp;&lt;/i&gt;&lt;a href="http://twitter.com/jlzander" title="twitter.com/jlzander"&gt;&lt;i&gt;twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10269575" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+11/">Visual Studio 11</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/JavaScript/">JavaScript</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Favorite+Feature/">Favorite Feature</category></item><item><title>Find out what’s in store for the Visual Studio 11 UI in the RC release </title><link>http://blogs.msdn.com/b/jasonz/archive/2012/05/08/find-out-whats-in-store-for-the-visual-studio-11-ui-in-the-rc-release.aspx</link><pubDate>Tue, 08 May 2012 17:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10269574</guid><dc:creator>Jason Zander</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10269574</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/05/08/find-out-whats-in-store-for-the-visual-studio-11-ui-in-the-rc-release.aspx#comments</comments><description>&lt;p&gt;After announcing the Visual Studio 11 Beta developer experience, we received considerable feedback on the UI. I want to thank you for all the comments you provided on this topic, and for taking the time to evaluate the beta release. At this point in the product cycle, we&amp;rsquo;ve been reviewing all of the beta feedback, and working on product updates for RC. Today we&amp;rsquo;re excited to share what these updates will look like for the UI. I encourage you to &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2012/05/08/visual-studio-11-user-interface-updates-coming-in-rc.aspx"&gt;read more on the Visual Studio blog&lt;/a&gt;, where we&amp;rsquo;ve summarized the feedback we received on the beta, and showed the UI changes we have in store for RC.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10269574" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Feedback/">Feedback</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Visual+Studio+11/">Visual Studio 11</category></item><item><title>April 27th What’s Happening Around Visual Studio</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/04/27/april-27th-whats-happening-around-visual-studio.aspx</link><pubDate>Fri, 27 Apr 2012 22:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10269576</guid><dc:creator>Jason Zander</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10269576</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/04/27/april-27th-whats-happening-around-visual-studio.aspx#comments</comments><description>&lt;p&gt;Here&amp;rsquo;s a quick recap of what&amp;rsquo;s happening around the team.&lt;/p&gt;
&lt;h3&gt;&lt;b&gt;The &amp;ldquo;Await&amp;rdquo; is Over: Async Targeting Pack for Visual Studio 11 now available with .NET Framework 4.0 and Silverlight 5 support&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;One of the requests we received after shipping Visual Studio 11 Beta (which I discussed in my &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/03/12/visual-studio-11-beta-frequently-asked-questions-faq.aspx"&gt;Frequently Asked Questions post&lt;/a&gt;) was async support for projects targeting .NET Framework 4.0 or Silverlight 5. Unfortunately there was a breaking change that caused this to stop working in the Visual Studio 11 Beta. However, yesterday we released an &lt;a href="http://go.microsoft.com/fwlink/p/?LinkId=250980"&gt;Async Targeting Pack for Visual Studio 11&lt;/a&gt; which fixes this issue. If you&amp;rsquo;re using Visual Studio 11 Beta and developing a project which targets .NET Framework 4.0 or Silverlight 5, I recommend &lt;a href="http://go.microsoft.com/fwlink/p/?LinkId=250980"&gt;installing&lt;/a&gt; the targeting pack. You can also view the release notes &lt;a href="http://download.microsoft.com/download/D/8/9/D89FA559-B8A5-487F-8A25-CB62BFFEFB43/AsyncTargetingPack-InstallationAndReleaseNotes.html"&gt;here&lt;/a&gt;. Please note that this targeting pack is not required for projects targeting .NET Framework 4.5 or .NET for Metro style apps (just .NET Framework 4.0 or Silverlight 5).&lt;/p&gt;
&lt;h3&gt;&lt;b&gt;Spring Reading List: March &amp;amp; April Blog Roll&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;I&amp;rsquo;ve put together a rollup with some of the top blogs around the team from the past month or two. I hope you&amp;rsquo;ll find a few that interest you and dive in! Here&amp;rsquo;s a list of posts on Visual Studio 11:&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/dotnet/archive/2012/04/03/async-in-4-5-worth-the-await.aspx"&gt;Async in .NET 4.5&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.hanselman.com/blog/NETVersioningAndMultiTargetingNET45IsAnInplaceUpgradeToNET40.aspx"&gt;.NET Versioning and Multi-Targeting - .NET 4.5 is an in-place upgrade to .NET 4.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/fsharpteam/archive/2012/04/04/f-intellisense-improvements-in-visual-studio-11-beta.aspx"&gt;F# IntelliSense Improvements in Visual Studio 11 Beta&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2012/03/28/round-tripping-with-visual-studio-11.aspx"&gt;Round-tripping with Visual Studio 11&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blendinsider.com/technical/xaml-authoring-in-blend-and-vs-workflow-tools-and-tasks-2012-04-02/"&gt;XAML authoring in Blend and VS: Workflow, Tools, and Tasks&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/lightswitch/archive/2012/03/22/lightswitch-architecture-odata.aspx"&gt;LightSwitch Architecture: OData&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/lightswitch/archive/2012/03/30/tips-on-upgrading-your-lightswitch-applications-to-visual-studio-11-beta.aspx"&gt;Tips on Upgrading Your LightSwitch Applications to Visual Studio 11 Beta&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/sharepointdev/archive/2012/04/19/sharepoint-developer-tools-in-visual-studio-11-beta-part-iii-tips-and-tricks-in-sharepoint-list-designer.aspx"&gt;SharePoint Developer Tools in Visual Studio 11 Beta &amp;ndash; Part III: Tips and Tricks in SharePoint List Designer&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2012/04/11/automatic-requirement-traceability-with-exploratory-testing.aspx"&gt;Automatic requirement traceability with Exploratory Testing&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2012/04/13/friday-13th-high-noon-an-early-beta-of-the-branching-guide-is-released.aspx"&gt;Branching Guide BETA release&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We also published quite a few posts on Metro style app development. If you&amp;rsquo;re developing a Metro style app for Windows 8, these are for you!&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/dotnet/archive/2012/04/17/net-for-metro-style-apps.aspx"&gt;.NET for Metro style apps&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/windowsappdev/archive/2012/03/20/keeping-apps-fast-and-fluid-with-asynchrony-in-the-windows-runtime.aspx"&gt;Keeping apps fast and fluid with asynchrony in the Windows Runtime&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/windowsappdev/archive/2012/04/24/diving-deep-with-winrt-and-await.aspx"&gt;Diving deep with WinRT and await&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/windowsappdev/archive/2012/04/03/how-to-improve-performance-in-your-metro-style-app.aspx"&gt;How to improve performance in your Metro style app&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/windowsappdev/archive/2012/04/05/tackling-performance-killers-common-performance-problems-with-metro-style-apps.aspx"&gt;Tackling performance killers: Common performance problems with Metro style apps&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/windowsappdev/archive/2012/04/10/managing-app-lifecycle-so-your-apps-feel-quot-always-alive-quot.aspx"&gt;Managing app lifecycle so your apps feel "always alive"&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/windowsappdev/archive/2012/04/16/creating-a-great-tile-experience-part-1.aspx"&gt;Creating a great tile experience (part 1)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/windowsstore/archive/2012/04/25/deploying-metro-style-apps-to-businesses.aspx"&gt;Deploying Metro style apps to businesses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/windowsappdev/archive/2012/03/28/build-apps-with-the-experts-at-windows-8-dev-camps.aspx"&gt;Build apps with the experts at Windows 8 Dev Camps&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Channel9 videos are another good resource to check out, especially the &lt;a href="http://channel9.msdn.com/Shows/Visual-Studio-Toolbox"&gt;Visual Studio Toolbox series&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;&lt;b&gt;Calling all Testers: STAREAST Videos Online&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;Last week, we participated in a conference for testers called &lt;a href="http://www.sqe.com/stareast/"&gt;STAR&lt;i&gt;EAST&lt;/i&gt;&lt;/a&gt;. Nearly 1,000 testers from around the world came to learn about the latest testing tools, technologies, and solutions. We delivered two sessions, which are available on-demand on the conference website until July 19, 2012. You can access them for free by registering &lt;a href="https://vts.inxpo.com/Launch/QReg.htm?ShowKey=8622&amp;amp;LangLocaleID=1033"&gt;here&lt;/a&gt;. Here are the sessions:&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;ldquo;Continuous Quality Enablement with Microsoft Visual Studio&amp;rdquo;, by Matt Nunn (Microsoft)&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;ldquo;7 Things You Don't Know About Visual Studio for Testers&amp;rdquo;, by Charles Sterling (Microsoft) &amp;amp; Theresa Lanowitz (voke, inc.)&lt;/p&gt;
&lt;p&gt;Testers are an important part of our engineering teams here at Microsoft, and a key audience for our software tools. In each Visual Studio release we&amp;rsquo;ve added tooling for more roles in the engineering team, helping everyone work together better. For testers using Visual Studio 2010, we added Microsoft Test Manager, coded UI tests, and manual test recording. In Visual Studio 11, we further expanded our support for testers with exploratory testing, and enhancements to Microsoft Test Manager and Lab Management such as support for Metro style applications. Together, these features enable the team to better ensure quality throughout the software lifecycle.&lt;/p&gt;
&lt;p&gt;I encourage you to check out the sessions to learn more and see these features in action.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Follow me at&amp;nbsp;&lt;/i&gt;&lt;a href="http://twitter.com/jlzander" title="twitter.com/jlzander"&gt;&lt;i&gt;twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10269576" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/Testing/">Testing</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/-NET+4-0/">.NET 4.0</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/-NET+Framework/">.NET Framework</category></item><item><title>Better Together: TFS 2010 and System Center 2012</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/04/17/better-together-tfs-2010-and-system-center-2012.aspx</link><pubDate>Tue, 17 Apr 2012 16:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10269570</guid><dc:creator>Jason Zander</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10269570</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/04/17/better-together-tfs-2010-and-system-center-2012.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;This week, we&amp;rsquo;re celebrating the launch of System Center 2012 at the &lt;a href="http://www.mms-2012.com/"&gt;Microsoft Management Summit (MMS)&lt;/a&gt; in Las Vegas. As part of the launch wave, we released a final version of the System Center Management Pack for TFS Work Item Synchronization, which is available for &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=29422"&gt;download here&lt;/a&gt;. This version of the management pack works with the current RTM versions of both products: TFS 2010 and the Operations Manager component of System Center 2012. (TFS 11 support will be coming in the future.)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;Last year at the TechEd North America keynote I &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2011/05/16/announcing-alm-roadmap-in-visual-studio-vnext-at-teched.aspx"&gt;announced the first management pack CTP&lt;/a&gt;, and also talked about it in this &lt;a href="http://technet.microsoft.com/en-us/edge/Video/hh237273"&gt;interview on DotNetRocks&lt;/a&gt;. The management pack is designed for enterprises who want tighter collaboration between their development and operations teams. It takes alerts raised by the Application Performance Monitoring (APM) capability within the Operations Manager component of System Center 2012, and synchronizes them with TFS work items. Using the management pack, operations teams can easily forward the APM information directly into TFS as operational work items, and enable engineering teams to more quickly identify the root cause and develop a fix. This dramatically reduces the mean time to repair (MTTR) and helps the DevOps cycle.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;Here are a few screenshots, so you can see how this all works. First, the operations staff sees an APM alert from a running application and sends it as a bug directly to the development team:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/1667.SCOM_2D00_TFS_5F00_APM_5F00_Alert.png" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/1667.SCOM_2D00_TFS_5F00_APM_5F00_Alert.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;The fact that the issue goes directly into TFS (and not into email, for example) means that it will be going through the same process as the other bugs that the development team is already tracking and prioritizing. Next, after fixing the bug, the developers can quickly queue up a build for the operations team to deploy to production.&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/2376.SCOM_2D00_TFS_5F00_WorkItem.PNG" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-15/2376.SCOM_2D00_TFS_5F00_WorkItem.PNG" border="0" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;One of the great things about this solution is that the software automatically captures the relevant details that the developer needs to debug the issue. The support engineer doesn&amp;rsquo;t need to think about what information to collect, or even know what a callstack is. By capturing all this actionable data for the developer, the management pack bridges the worlds of operations and development, makes communication more simple and effective, and reduces friction between the two teams.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;The management pack also includes two-way sync between TFS and Operations Manager. This enables visibility into the status of a work item from either product, and allows the operations team to keep track of when a fix might be available.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;I&amp;rsquo;m really happy about our partnership with System Center and the value we&amp;rsquo;ve created across the two products. The combined strengths of the Visual Studio team in development and the System Center team in operations gives us the assets we need to provide great support for DevOps scenarios. Stay tuned for more news in the future.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;If you missed the MMS keynote today, you can watch it on demand &lt;a href="http://www.mms-2012.com/keynotes"&gt;here&lt;/a&gt;. And don&amp;rsquo;t forget to &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=29422"&gt;download the System Center Management Pack for TFS&lt;/a&gt;!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;Enjoy!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander" title="twitter.com/jlzander"&gt;&lt;i&gt;twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10269570" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/ALM/">ALM</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/DevOps/">DevOps</category></item><item><title>April 12th What’s Happening Around Visual Studio</title><link>http://blogs.msdn.com/b/jasonz/archive/2012/04/12/april-12th-whats-happening-around-visual-studio.aspx</link><pubDate>Thu, 12 Apr 2012 18:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10269571</guid><dc:creator>Jason Zander</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/jasonz/rsscomments.aspx?WeblogPostID=10269571</wfw:commentRss><comments>http://blogs.msdn.com/b/jasonz/archive/2012/04/12/april-12th-whats-happening-around-visual-studio.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;Here&amp;rsquo;s a quick recap of what&amp;rsquo;s happening around the team.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;&lt;b&gt;Releases:&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;We&amp;rsquo;ve released some updates for the Visual Studio 11 and TFS 11 betas:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2012/04/06/improving-how-we-update-visual-studio.aspx"&gt;Visual Studio 11 Beta: VS Update Service&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/04/02/tfs-11-power-tools-beta-available.aspx"&gt;Team Foundation Server 11 Beta Power Tools&lt;/a&gt; (TFS 2010 users might also want to visit &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/03/23/keeping-your-tfs-2010-up-to-date-as-of-march-2012.aspx"&gt;Brian&amp;rsquo;s blog&lt;/a&gt; for the latest list of TFS 2010 updates)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;If you haven&amp;rsquo;t downloaded the betas yet, here are a couple of good resources that make it easy to get started:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://aka.ms/VS11ALMVM"&gt;Visual Studio 11 Beta ALM Virtual Machine and Hands-on-Labs / Demo Scripts / DemoMates&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2012/02/29/welcome-to-visual-studio-11-alm-rangers-readiness-beta-wave.aspx"&gt;Visual Studio 11 Beta Readiness Materials by the ALM Rangers&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;We&amp;rsquo;ve had quite a bit of news lately around the work we&amp;rsquo;re doing to support open source communities. We announced new Git support on CodePlex (in addition to the current TFS and Mercurial support):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/03/22/the-future-of-codeplex-is-bright.aspx"&gt;Brian Harry: The Future of CodePlex is Bright&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/codeplex/archive/2012/03/21/git-commit-m-codeplex-now-supports-git.aspxhttp:/blogs.msdn.com/b/codeplex/archive/2012/03/21/git-commit-m-codeplex-now-supports-git.aspx"&gt;CodePlex Blog: git commit &amp;ndash;m &amp;ldquo;CodePlex now supports Git!&amp;rdquo;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;We also shared news at DevConnections about open sourcing ASP.NET MVC 4, ASP.NET Web API, and ASP.NET Web Pages (Razor):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://weblogs.asp.net/scottgu/archive/2012/03/27/asp-net-mvc-web-api-razor-and-open-source.aspx"&gt;Scott Guthrie: ASP.NET MVC, Web API, Razor and Open Source&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.hanselman.com/blog/ASPNETMVC4ASPNETWebAPIAndASPNETWebPagesV2RazorNowAllOpenSourceWithContributions.aspx"&gt;Scott Hanselman: ASP.NET MVC 4, ASP.NET Web API and ASP.NET Web Pages v2 (Razor) now all open source with contributions&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;For those doing mobile development, an additional release to note is the Windows Phone SDK 7.1.1 Update. This update provides support to use the SDK on Windows 8 Consumer Preview machines, and to develop apps for the new Windows Phone 7.5 256 MB devices:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://windowsteamblog.com/windows_phone/b/wpdev/archive/2012/03/26/wpsdk-711-now-available.aspx"&gt;Windows Phone Developer Blog: Windows Phone SDK 7.1.1 Update Now Available&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;Events:&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;I recently blogged about my &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/03/27/visual-studio-ultimate-roadmap.aspx"&gt;keynote at DevConnections&lt;/a&gt;, and also about &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/04/06/tune-in-to-lang-next-videos-online.aspx"&gt;Lang.NEXT&lt;/a&gt; which took place on Microsoft campus last week.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;This summer, I will be keynoting &lt;a href="http://northamerica.msteched.com/"&gt;TechEd North America&lt;/a&gt; (June 11-14) and &lt;a href="http://europe.msteched.com/"&gt;TechEd Europe&lt;/a&gt; (June 26-29). We have an extensive content lineup in store, as well as lots of opportunities for networking and product team interaction. I&amp;rsquo;ve spoken at many TechEd conferences around the world, and I always enjoy connecting with customers and partners at these events. I hope you can join us.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;Another event I&amp;rsquo;m currently involved in is &lt;a href="http://www.imaginecup.com/"&gt;ImagineCup&lt;/a&gt;, Microsoft&amp;rsquo;s student technology competition. ImagineCup is a great opportunity for students to practice their programming skills, and work together in a team to implement new ideas. This year&amp;rsquo;s ImagineCup competition includes a new &lt;a href="http://www.imaginecup.com/Competition/mycompetitionportal.aspx?competitionId=70"&gt;Windows Metro Style App challenge&lt;/a&gt;, which I will help judge. I look forward to seeing what the students create!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;&lt;i&gt;Follow me at &lt;/i&gt;&lt;a href="http://twitter.com/jlzander" title="twitter.com/jlzander"&gt;&lt;i&gt;twitter.com/jlzander&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10269571" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jasonz/archive/tags/News/">News</category></item></channel></rss>