The third update of Visual Studio 2012 has progressed to Release Candidate (RC) stage, and is now available as a "go-live" version, meaning you can put it on a production server.
The first Community Technology Preview (CTP) of VS 2012, Update 3 was released last month. That iteration wasn't for production. This RC version of Update 3 is for both Visual Studio and Team Foundation Server (TFS), Microsoft Technical Fellow Brian Harry wrote on his blog.
Microsoft, Harry said, has put the Update 3 RC into production, and its go-live process "found 8 or 10 TFS bugs for Update 2," and those have been fixed in the RC. Charles Sterling, on Microsoft's TFS blog, said that about 20 user issues and requests were addressed with Update 3.
Sterling added that two frequently-requested features were added: "continuous integration for Team Projects using Git, and the ability to pick the specific branch in the repo you wanted built." This functionality's available via a new source settings dialog in the build definition wizard.
Some of the issues that were fixed include problems with the debugger, the Visual Studio IDE itself, a number of C++ bugs, numerous TFS fixes and upgrades, and a crash issue when developing Web projects. A Knowledgebase article has a full listing of improvements.
Harry noted in his blog that Update 3 is a minor update compared to Updates 1 and 2. You can find it here.
(Note that there are different installation methods between Visual Studio and TFS: the Visual Studio version of Update 3 installs on top of a previous version, while the TFS update replaces whatever's currently installed. Because of that, make sure your databases are fully backed up; if the installation fails and you haven't backed up, you're cooked.)
Posted by Keith Ward on 05/08/2013 at 6:34 AM0 comments
Microsoft has updated its Power Tools, a suite of enhancements for Team Foundation Server (TFS) projects, to work with Visual Studio 2012 Update 2.
Now, those of you paying close attention to the Visual Studio team's constant stream of updates may wonder why Power Tools is now being updated to support Update 2, when Update 3 was just released as a go-live production Release Candidate (RC). Microsoft Technical Fellow Brian Harry, on his blog, chalks it up to taking "longer than we had hoped" to prep the Power Tools.
But Harry goes on to explain that new Power Tools update (officially called TFS 2012.2 Power Tools update) includes a change that should bring it fully in line with the new Visual Studio release method of frequent, incremental updates instead of infrequent, service-pack-level updates every year or two as in the past. Harry writes:
"Our Power Tools setup has traditionally had a block to prevent it from working with the next version of VS (which is why the Power Tools from Update 1 wouldn't work with Update 2). This is a bit of a hold-over from before we started doing the regular update cadence. At that time, it was pretty likely that we'd change something in the 2 years between updates that would break the Power Tools and we'd work hard to have new releases of Power Tools ready before the final release of VS/TFS."
The block has been removed, and Harry says "we fully expect" that this latest revision will work with Update 3. In fact, he's installed it on his version of VS 2012.3 (i.e. Visual Studio 2012, Update 3 -- the RC) and he says it's working well. Of course, your mileage may vary, so tread carefully.
Harry added that there are no significant changes in the new version of Power Tools; just some bug fixes and the removal of the "back/restore" Power Tool. The main reason for the release was because, Harry says, Microsoft heard from "a number" of its TFS customers that they uninstalled VS 2012 Update 2, rather than give up their Power Tools.
This is why it's good to bring your complaints to Microsoft. There remains a perception that large companies don't listen to their customers; or even if they do, that making changes to products in response to those complaints takes forever and a day. This Power Tools update shows that, at least for the Visual Studio/TFS teams, they are listening; also, that the new, agile release methodology is paying dividends.
Posted by Keith Ward on 05/08/2013 at 1:26 PM0 comments
Microsoft has updated the HTML client runtime in LightSwitch, its lightweight Web development tool. "Runtime Update 1", as it's called, is a bug and compatibility fix for the latest versions of jQuery, jQueryMobile and datajs.
The update adds support for jQueryMobile 1.3 and jQuery 1.9, according to this blog posting from the LightSwitch team. "Embracing the mobile-first, instead of mobile-only, approach was the main focus of this release," the team states.
The key upgrade to the runtime, it appears from the blog, is the implementation of responsive design. Responsive design automatically resizes an interface according to the screen size of a particular device. (It's something we did on VisualStudioMagazine.com; we've been writing about some of the challenges.)
The update is available through NuGet. The first step is to update the "Microsoft.LightSwitch.Client.JavaScript.Runtime" package, which also grabs the latest supported dependencies. The next step is to increment the version numbers of the JavaScript and CSS files in the default.htm file (the blog specifies which files). Note that you'll need to do that for every LightSwitch project you have.
For more information on exactly what LightSwitch is and what it does, check out a video Q & A I did with expert Michael Washington at our VSLive! Las Vegas show.
Posted by Keith Ward on 05/07/2013 at 5:29 AM0 comments
Microsoft's released a new .NET Framework managed library to help with debugging and crash dump analysis.
It's a beta release, and is called Microsoft.Diagnostics.Runtime (abbreviated to ClrMD -- MD for "Memory Diagnostics"). It's available through the NuGet package manager. It works similarly to the SOS Debugging Extensions. With it, you can write automated crash analysis and automate common debugger tasks.
According to a blog entry by Lee Culver, a developer on Microsoft's .NET Runtime team, it wasn't the original plan to release the library publicly. It came about because the runtime team "has had so much success automating complex diagnostic tasks with this API" that they decided to make it available.
Culver also noted that the library is a wrapper around CLR internal-only debugging APIs. The internal APIs, he said, are "incredibly difficult to use and tightly coupled with other implementation details of the CLR." Since the CLR is a managed runtime, things like garbage collection and JIT compilation are done for you.
The most basic thing you'd probably to with ClrMD is print out heap stats to the console. But it gets much more granular than that, allowing you to, for example, "walk every managed thread in a process or crash dump and print out a managed callstack," Culver wrote.
The blog also contains a code sample to help you learn by doing.
Posted by Keith Ward on 05/03/2013 at 7:56 AM0 comments
Microsoft has released WebMatrix 3, its lightweight development tool for quickly building Web sites. The key features of the new version are Windows Azure integration, source control with Git and Team Foundation Services (TFS), and remote editing.
Microsoft's Scott Guthrie made the announcement on his blog. There was apparently some confusion on the official release date of WebMatrix 3; a speaker at the VSLive! conference in March said it would debut on April 4, and ZDNet's Mary Jo Foley reported that it was available on April 3 (she had updated that post, listing the release date as April 4 as well). But whatever the cause of the delay, it's available now.
Windows Azure integration is getting the lion's share of the publicity. When logged in to WebMatrix 3 through a Microsoft account, the user gets an option to build up to 10 sites for free, or migrate existing sites to Azure (WebMatrix itself is free as well).
Sites can be built from templates like ASP.NET, Node.js, PHP or HTML5. Another option, provided through the WebMatrix UI, is to use third-party tools like WordPress, DotNetNuke, Drupal and Joomla. Once the Web site's up, it can be edited either on Azure or locally, and with third-party tools or Microsoft tools; for example, IntelliSense support is available for certain types of code.
WebMatrix also provides multiple types of version control. A Web site can be opened from the Git repository, Microsoft's own TFS (the Web-enabled version of Team Foundation Server) or CodePlex. Guthrie said that version control was "one of the most requested features" in WebMatrix 2, and it's been extended in version 3.
In an earlier story on the forthcoming release, Instructor and WebMatrix expert Mark Rosenberg explained the value he sees in the product:
"The idea is to get a Web site up and running as simply as possible ... One of the problems that I always have in Visual Studio is … 'I don't have the prerequisites: I need to install PHP to make it work, I need to do this or that and I install PHP, and then it doesn't work. WebMatrix takes care of all those problems for you. If you don't have PHP installed, and you've picked a PHP-based Web site, it installs PHP. It actually takes care of installing everything you need on your machine."
WebMatrix 3 is available here.
Posted by Keith Ward on 05/02/2013 at 11:34 AM0 comments
Microsoft, which just days ago pushed out a Windows Azure SDK for Ruby developers, has released a substantially upgraded SDK for its army of .NET Framework developers.
Microsoft Corporate Vice President Scott Guthrie dropped the news on his blog today, calling Windows Azure SDK 2.0 for .NET "a major refresh of the Windows Azure SDK with some really great new features and enhancements."
The upgrades are concentrated in five categories, according to Guthrie:
- Web sites
- Cloud services
- Storage
- Service Bus
- PowerShell
Guthrie started with the improved publishing capabilities through Visual Studio. Now, right-clicking on any ASP.NET Web Project or Web Site brings up a dialogue that enables developers to publish to Windows Azure. He pointed out a difference between the 2.0 SDK and previous versions:
"Starting with today's release you can now associate your Windows Azure Subscription within Visual Studio – at which point you can browse the list of sites in Windows Azure associated with your subscription in real-time, and simply select the one you want to publish to (with no need to manually download anything). Then just select the Web Site on Windows Azure that you want to deploy your app to, hit ok, and your app will be live on Windows Azure in seconds. You can then quickly republish again (also in seconds) without having to configure anything (all of the publish profile settings are persisted for later use)."
Web site management is also improved through Visual Studio Server Explorer. One new tool, for instance, allows streaming of an Azure-based Web site's application logs directly into Visual Studio. This is handy for debugging issues that can only be discovered in a live Azure setting.
On the cloud side, the main change was a big increase in the size of the virtual machines (VMs) that Azure now supports. VMs as large as 8 cores and 56 GB of RAM can be utilized for cloud services.
The new SDK also adds more storage management within Visual Studio, including the ability to create and delete Windows Azure Tables, and add/edit/delete table entities in them from the Visual Studio Server Explorer.
The big news for the Service Bus is an updated client library that adds message browse support and a new message pump programming model that moves to an event-driven processing style.
The PowerShell updates are focused on new automation commands for things like streaming logs, cloud services, VMs, the Windows Azure Store and storage.
Similar to all the Windows Azure SDKs (including those for Ruby, Java, Python and PHP), the .NET 2.0 SDK is completely open source and hosted on GitHub.
Posted by Keith Ward on 04/30/2013 at 10:17 AM0 comments
So, as programmers age, do they get set in their ways? Are they more afraid to learn new things? Are they old dogs that can't learn new tricks?
Nope. In fact, just the opposite, according to some intriguing new research from North Carolina State University. The study examined the profiles of more than 80,000 developers on StackOverflow. Their number-crunching revealed that as coders get older, their interests widen -- in fact, according to the press release, "the researchers found that there is a sharp decline in the number of subjects users weighed in on between the ages of 15 and 30 – but that the range of subjects increased steadily through the programmers' 30s and into their early 50s."
That extends even to the realm of the hottest programming area today -- mobile devices. Again, from the report:
"For two smartphone operating systems, iOS and Windows Phone 7, the veteran programmers had a significant edge in knowledge over their younger counterparts. For every other technology, from Django to Silverlight, there was no statistically significant difference between older and younger programmers."
This is an interesting phenomenon. I'm not sure how much weight I'd give to a one-source (StackOverflow) study, but it might at least help debunk the perception that older programmers are only interested in COBOL and Fortran.
Posted by Keith Ward on 04/30/2013 at 9:50 AM0 comments
Ruby developers now have a home on Windows Azure. Microsoft has released the Windows Azure SDK for Ruby, and provided tools and guidance as well.
Since Windows Azure was just released as an Infrastructure-As-A-Service (IaaS), as Microsoft Corporate Vice President Scott Guthrie announced on his blog, Ruby projects can be hosted there without an SDK. What the SDK adds is Windows Azure Data Management and the Windows Azure Service Bus. Data storage options include tables, blobs and queues; the service bus provides message queuing and topics and subscriptions.
Microsoft officially supports Ruby Web apps through Linux-based Virtual Machines; other methods can be used to host Ruby apps, but they're not supported, according to Microsoft's Silver Lining blog.
The Ruby SDK joins a growing lineup of Azure-integrated languages that include Java, Node.js, Python, PHP and mobile devices like iOS , Android Windows 8/Phone (along with Microsoft's .NET languages, of course). Microsoft is essentially saying that no matter what language you use, or what platform and devices you target, that Azure is the best place to host it.
Continuing another trend, the SDK for Ruby is fully open source and hosted on GitHub, which is also true of the other SDKs. Microsoft seems to be doing a 180-degree turn in this area; it's embraced open source to a degree that must be shocking to the open-source software (OSS) community that has bashed Redmond forever for its desire to remain a proprietary software company.
Posted by Keith Ward on 04/29/2013 at 2:17 PM0 comments
Visual Studio Tools for Git has "crossed a significant threshold of completeness and usability" with its latest release.
That’s according to Microsoft Technical Fellow Brian Harry, who announced the upgrade on his blog today. The key improvements, he wrote, are performance increases, better functioning for large code repositories and fewer merge and pull conflicts for developers working simultaneously on projects.
Note that the most important requirement to get the update is to have the latest version of Visual Studio, which is Visual Studio 2012 Update 2.
In terms of speed increases, Harry published a chart that showed dramatic increases between the Git client tooling for the new release (Sprint 46) and the previous public release, Sprint 44. For example, pulling 100 1KB files decreased from a typical time of 83 seconds to five seconds, and pushing 100 commits up to Git dropped from 76 seconds to 12 seconds.
Visual Studio Tools for Git is a Team Explorer add-on that provides source control integration for Git, enabling integration with any local Git repository and tools to work with third-party-hosted Git repositories. The last update of Visual Studio Tools for Git was in March.
The tools can be
downloaded here.
Posted by Keith Ward on 04/26/2013 at 11:34 AM0 comments
Microsoft has released a new version of its Enterprise Library, a collection of reusable software components for developers working in large environments, for the first time in three years.
The Library helps with "cross-cutting concerns" like logging, validation, data access, exception handling and so on. Microsoft calls these software components "application blocks". They contain not just source code, but also documentation and test cases. The latest version is called Enterprise Library 6; the previous full release, Enterprise Library 5, came out in April 2010.
The application blocks function like a best practices guide, only including a lot of software. In this MSDN document explaining the Enterprise Library, Microsoft says the blocks are easy to add to .NET Framework projects. For example, Microsoft says, "The Data Access Application Block provides access to the most frequently used features of ADO.NET, exposing them through easily used classes."
The goals of the Enterprise Library are consistency of design patterns and implementation approaches; extensibility through custom code; increased ease of use through functionality like a graphical configuration tool and better, more complete documentation; and smooth integration, since the application blocks are designed to work together.
Corporate VP of the Microsoft Developer Division S. Somasegar said on his blog that Enterprise Library 6 brings it up to speed with more recent technologies, integrating with ASP.NET MVC and ASP.NET Web API, for example.
Microsoft's Grigori Melnik, Principal Program Manager for patterns and practices, described "cross-cutting concerns" as tasks that need to be accomplished in several places in the types of large, sprawling line-of-business apps targeted by the Enterprise Library. "When trying to manage crosscutting concerns there is often the risk that you/different team members will implement slightly different solutions for each task at each location in your application, or that you will just forget them altogether," Melnik said.
Previous Enterprise Libraries included 4.1, released in October 2008, and retired versions 4.0 from May 2008, 3.1 from May 2007 and 2.0, from January 2006.
Enterprise Library 6.0, made available under the Microsoft Public License, can be downloaded through NuGet.
Posted by Keith Ward on 04/26/2013 at 12:48 PM0 comments
The hugely popular JavaScript library jQuery just turned 2.0. And it's an especially significant release for .NET developers, as it jettisons some older Internet Explorer browsers and enhances support for writing Windows 8 applications.
The most important fact about jQuery 2.0 for Web developers is that IE 6, 7 and 8 are no longer supported. Dave Methvin, president of the jQuery Foundation, blogged that for sites that need to maintain compatibility with older IE browsers, the 1.x versions of jQuery will do just that, including an upcoming 1.10 version (1.9.1 was the last version of jQuery officially released). The older browsers, through the 1.x branch, will be supported for "several more years," Methvin wrote.
The time had come, however, to update jQuery for the modern Web, including Windows 8 apps, Google Chrome, Firefox OS apps, Chrome OS apps, Microsoft WebBrowser control and more. One advantage of the 2.0 release is that it's 12 percent smaller than 1.9.1, owing to the removal of patches needed for IE 6, 7 and 8.
The major changes that needed to be made in jQuery 2.0 when it comes to Windows 8 apps were security related. Since all Windows Store apps have native access to the Windows Runtime, jQuery had to create a new security model, according to Microsoft's Olivier Bloch, a senior technical evangelist, in a blog about 2.0. Jonathan Sampson, director of Support for appendTo, a company that's contributed to jQuery, described the technical reasons:
"While jQuery meets the language criterion for Windows Store applications, Windows 8 exposes all the WinRT APIs within the HTML5 development environment, which comes with a new security model that made some code and common practices of jQuery flagged as unsafe in the context of a Windows Store application. AppendTo reviewed and re-authored portions of jQuery core to bring it into alignment with the Windows security model, as well as identified key areas where alternative patterns would need to be substituted for actually-used conventions."
jQuery is considered to be the most popular JavaScript library in use on the Internet. There are minified and unminified versions available, depending on a developer's needs. Methvin strongly recommends upgrading via the jQuery Migrate plugin.
Posted by Keith Ward on 04/19/2013 at 8:42 AM0 comments
Facebook today released the Facebook SDK for .NET, to enable Windows-focused developers to integrate their applications with Facebook.
The SDK was announced on the Windows Phone Developer Blog. The open-source SDK is C#/XAML based, and can be found at the Outercurve Web site. Most developers will want to install the SDK using NuGet (this page recommends having the latest version of NuGet; some features of the SDK won't work with older versions.)
Before you do any of that, however, you'll need to create a Facebook app. Once that's done, you can build any type Windows Phone 8 or Windows 8 app. Since the provided APIs for both Windows Phone 8 and Windows 8 are "very similar", reports Microsoft, code sharing between the platforms should be simple.
The two critical reasons to develop suing the Facebook SDK for .NET are spelled out in the Windows Phone Developer blog:
- It takes away all of the complexity of logging on with Facebook. Based on the provided samples, all you need to do is use a bit of boilerplate code, add your Facebook app ID to the mix, and voila! You can have people logging on to your app with Facebook.
- It allows you to focus on your Facebook-related scenarios by abstracting away the low-level details such as HTTP connections and query parameters. This way you can plan and develop around Open Graph APIs and objects, which is where you want to spend your development resources.
The SDK is supported as far back as .NET 3.5. Also supported is Silverlight 5 and Windows Phone 7.1, so you don't have to be building only for Windows 8/Windows Phone 8.
Outercurve is a foundation dedicated to bridging the gap between software companies and the open-source community by "providing software IP management and project development governance," according to the organization.
Posted by Keith Ward on 04/18/2013 at 12:22 PM0 comments