Automated Build-Deploy-Test using TFS 2012

Editor’s note: The following post was written by Visual Studio ALM MVP Anuj Chaudhary

The automated build, deploy and test mechanism in TFS 2012 provides the ability to perform automated build, deploy and test on demand. A daily build could be scheduled which builds the latest code, deploys it to an environment and runs the tests on it. The build can be scheduled to run on a daily basis or on every check in to make sure that we test often and test early. To read more, click here

Shim Saves The Day in A Tricky Unit Test Situation

Editor’s note: The following post was written by Visual C# MVP William Wegerson

This is a story that actually happened to me and it illustrates how I could have used Visual Studio 2012 testing framework of fakes and shims to overcome an insurmountable testing failure that transpired at that time.

It all happened on a contract that I took at a financial company. They had an existing system going all the way back to VB6 and were just now (then) sprinkling in WPF into their existing system. They were unit testing freaks and by God or Buddha there had to be a unit test for every piece of code owned and even some that they didn’t own. If the blanket of code coverage didn’t safely tuck in the crying assemblies at night with a nice pacifier the project lead would wrap my knuckles like mother superior over a biblical infraction on the school yard. In retrospect I am linked-in to him this day so this story doesn’t turn out half bad. To read more, click here

Caller Details

Editor's note: The following blog post was written by Visual C# MVP Dustin Davis

There is no lack of new features in Visual Studio 2012. But even with all the bells, whistles and menu titles that yell at me, I wanted to look for meat closer to the bone. What I found were some neat additions to help with tracing and debugging.

With Visual Studio 2012 we get three new attributes from the System.Runtime.CompilerServices namespace, CallerMemberNameAttribute, CallerFilePathAttribute and CallerLineNumberAttribute. Using these attributes we can collect certain information about the code execution without having to do any additional work. As much as I love using reflection, these attributes are a welcome addition to my tool belt. To read more, click here

New Code Review feature in Visual Studio 2012

Editor’s note: The following MVP Monday post was written by Visual Studio ALM MVP Esteban Garcia

Code reviews are a critical part of software development. Not only do they help you keep you defect-count down, they are also a great way to learn from other people's code. Code reviews also allow teams to communicate changes to the application with their peers.

There have been a few different ways to incorporate code reviews into Visual Studio in the past, including some third party components. For the first time, Visual Studio 2012 includes a Code Review process out of the box by leveraging the Team Foundation Server Work Item Tracking system along with the use of shelvesets. All the information is easily accessible through the redesigned Team Explorer window and Team Foundation Server Web Access. This allows code reviewers to compare code files, annotate them, and send comments back to the requester. To read more, click here

Working with Multiple Solution Explorer Windows in Visual Studio 2012

Editor’s note: The following post was written by Visual Basic MVP Deborah Kurata

How many monitors can fit on your desk? As many as possible! It’s great that Visual Studio allows you to view your source code on both monitors. Visual Studio 2012 has enhanced its support of multiple monitors by allowing you to display multiple copies of Solution Explorer.

Open one of your solutions in Visual Studio 2012. Then open several files. Drag several tabs over to your second monitor to build a “raft”of tabs. If you want to see the same code file on both monitors, click the tab and select Window | New Window from the menu to create a second copy of the file. Then drag one copy to your second monitor. To read more, click here

Building a Windows 8 Touch application with WinRT JavaScript and Html5

Editor’s note: The following post was written by ASP.NET MVP Peter Kellner

Introduction

With the introduction of WinRT (which replaces the Win32 API we are all use to), Microsoft has provided JavaScript programmers first class access to system libraries previously unavailable. That is, because WinRT is available directly to JavaScript, device access (GPS, motion sensors, etc.) are all available directly to the application with no special security layer. That said, WinRT also brings with it restrictions which a typical browser does not have. Because it is possible with such tight access to the OS for applications to do harm, WinRT has a sophisticated security model in place to keep bad things from happening. In addition, a WinRT app forces you application to behave nicely or it may not work. For example, if you application takes too long to start, the WinRT library will automatically stop the application from proceeding.

Microsoft has done a good job of balancing the needs of many with the needs of a few with WinRT. That is, your application is really the needs of a few (well, you alone), while the needs of many (all the other applications and services running on your device) are all looked out for. To read more, click here

Continuous Feedback using Storyboarding, Code Reviews, and the Feedback Tool in Visual Studio 2012 ALM

Editor’s note: The following blog post was written by Visual Studio ALM MVP Mike Douglas

One of the key advantages of Agile or any other kind of iterative development process is to receive feedback early and often throughout the development process instead of waiting until the end. Traditionally this has been accomplished by teams working closely together where the decision makers can simply turn around to tell developers what they like and don't like. This type of collaboration becomes much more difficult with distributed development teams. Visual Studio 2012 has introduced several tools to help distributed teams collaborate better by being able to request, provide, and receive feedback throughout the development process. To read more, click here