MSDN Magazine December 2009


Generation Test: Automated Unit Tests for Legacy Code with Pex

Creating and maintaining a unit test suite for legacy code can be a challenge. Pex automatically produces a small test suite with high code and assertion coverage. Nikhil Sachdeva

Code Cleanup: Using Agile Techniques to Pay Back Technical Debt

Every codebase contains some measure of technical debt – code that is maddeningly hard to test and maintain. We outline some ideas for identifying and dealing with the high-interest debt in your code. David Laribee

Data Access: Building a Desktop To-Do Application with NHibernate

Building an NHibernate-based desktop application isn’t any harder than building a web application, and in many cases NHibernate simplifies elements of session handling and concurrency. Oren Eini

Team System: Building a Visual Studio Team Explorer Extension

There’s no magic behind how the TFS Power Tools were integrated with Team Explorer, and we’ll show you how to expose your own custom features inside the Team Explorer window. Brian A. Randell, Marcel de Vries

SharePoint 2010 and BCS: Using Business Connectivity Services in SharePoint 2010

Kirk Evans shows how to take advantage of SharePoint 2010 Business Connectivity Services (BCS) to develop solutions with deep integration of external data and services. BCS builds upon its BDC predecessor in the key areas of presentation, connectivity, tooling and lifecycle management. Kirk Evans


Editor's Note: Shaping a New Era in MSDN Magazine

Diego is working with the new editor in chief, Keith Ward, to make some changes to the magazine. A key goal of that is to better align our content with your needs as a developer.Diego Dagum

Toolbox: Database and OR/M Tools, Oren Eini and Custom Visual Studio Tabs

This month we look at tools for enhancing the LINQ to SQL and Entity Framework designers, Oren Eini’s .NET development blog, Visual Studio tab customization, and more.Scott Mitchell

CLR Inside Out: In-Process Side-by-Side

The new .NET Framework 4.0 maintains backward compatibility while allowing core innovations by using a new feature called In-Process Side-by-Side. Learn about how it works and some problems it didn’t solve.Luiz Fernando Santos, Jesse Kaplan

Cutting Edge: Live Data Binding in ASP.NET AJAX 4.0

Dino Esposito discusses various forms of client-side data binding as they are coming out in ASP.NET AJAX 4.0, focusing on some advanced features of data binding and observable objects.Dino Esposito

Test Run: Pairwise Testing with QICT

In this month's column, James McCaffrey explains exactly what pairwise testing is and provides you with complete C# source code for a production quality pairwise testing tool named QICT.James McCaffrey

Extreme ASP.NET: Looking Ahead to ASP.NET 4.0

When Visual Studio 2010 and .NET 4 arrive next year, ASP.NET developers will have two mature frameworks for building Web applications: ASP.NET Web Forms and ASP.NET MVC. This article highlights some of the important new features for these two frameworks.Scott Allen

Windows with C++: Layered Windows with Direct2D

Layered windows provide the unique ability to compose a window on the desktop using per-pixel alpha blending. We take a look at how you can implement this drawing technique in Direct2D.Kenny Kerr

Going Places: Enhancing Windows Touch Applications for Mobile Users

This article describes how to use the Windows Touch API and related APIs to enhance mobile application. The discussion focuses on general usability, object selection and implementing a natural user interface.Gus Class

Concurrent Affairs: Data-Parallel Patterns and PLINQ

Multicore processors are now ubiquitous on mainstream desktop computers, but applications that use their full potential are still difficult to write. Version 4 of the .NET Framework will deliver several tools that programmers can employ to make this task easier. This article explores the use of one of those tools: Parallel LINQ (PLINQ).Igor Ostrovsky

Usability in Practice: More Than Skin Deep

While style and slick visuals are important in Web site design, they shouldn’t detract from a site’s usability and functionality. Here are some hands-on tips for look and feel, readability, discovery of affordances, and more, with plenty of examples of good and bad design.Ambrose Little, Charles B. Kreitzberg