My Work feature in TFS

A typical development workflow will follow below steps when connected to the TFS version control system.

  1. Open a project
  2. Make some changes
  3. Enter a comment describing the changes made
  4. Associate the work items related to the changes
  5. Check-in changes

This workflow holds well if user is working on a single task a time. But, it gets increasingly difficult to keep track of changes when working on multiple tasks at the same time. The new “My Work” feature addresses this problem, it gives users a place to review the work that’s currently assigned and keeps track of different tasks.

My work page will show all the To Do and In Progress tasks assigned to the user based on a work item query. If the user want to start the work on a To Do task then user can either drag n drop the task from To Do to In Progress tab or can right click the task and click the Add to In Progress option.

clip_image001

If user haven’t made any changes to the project, will see only “Finish” and “Suspend” options and no “Check In” option.

clip_image002

Once user make some changes to the project, will see different options.

  • Check In
  • Request Review
  • Suspend

clip_image003

The first option will check-in the changes to version control system and the second option Request Review will start the Code Review workflow. The last option Suspend will move all the changes to a shelveset and the changes are undone from user workspace.

clip_image004

At this point, user will have a very clean looking workspace and he can start the work on another task either by moving a To Do task to In Progress tab or clicking Resume option on existing suspended work.

The Suspend option captures all IDE state including files, tool windows, bookmarks, breakpoints, etc so that user can return exactly to the same state later. This feature significantly decreases the delays caused due to switch contexts and interruptions.

TFS on Azure IaaS guide shipped

ALM Rangers team has shipped v1.4 release of TFS Planning guide and this release focuses on TFS on Azure IaaS scenarios. It includes planning and setup guidance for the implementation of  Team Foundation Server on Azure Infrastructure as a Service (IaaS).

This project has five guides in total, out of which one is TFS on Azure IaaS main guide and the other four are supplement guides to cover the additional scenarios.

4

Below listed are the scenarios covered in additional guides.

  • Build Services
  • Proxy Server
  • Exposing Data Tier
  • Extending Access

I had the opportunity to work on this awesome project. Huge thanks to all the team members who volunteered their personal time for this project.

Andrea Scripa, Chris Margraff, Clementino Mendonca , Dan Marzolini, Dave McKinstry, David Pitcher, Eric Golpe, Grant Holliday, Hassan Fadili, Jahangeer Mohammed, Jim Szubryt, Marcus Fernandez, Mario Rodriguez, Micheal Learned, Oliver Hilgers, Susan Ferrell, Tarun Arora, Tony Feissle, Utkarsh Shigihalli, Willy-Peter Schaub and Wouter de Kort.

Please download the guide from CodePlex site and let us know your feedback.

Update doesn’t apply or is blocked by another condition on your computer

You might come across this error when trying to install the Visual Studio quarterly updates.

1

This error usually occurs when none of the Visual Studio editions (Premium, Professional or Express) are installed and you are trying to install the Visual Studio quarterly updates.

When installing the updates, you need to make sure that you are downloading the right package. There are two kinds of update packages.

Visual Studio Update: It will only install the particular update. To install this update, you need to have the Visual Studio installed or else you will get the error mentioned above.

3

Microsoft Visual Studio with Update: This package will install the Visual Studio and the updates. To install this package, prior installation of Visual Studio is not required.

2

TF215097: An error occurred while initializing a build for build definition \project name\build definition name

Issue: TF215097 An error occurred while initializing a build for build definition \projectname\build definition name: Cannot create unknown type ‘{clr-namespace:BuildActivitiesLib.Activities;assembly=BuildActivities}Checkout’.

Solution: We have developed lot of custom build activities and usually upgrade them with our Team Foundation Server upgrades every major release. We recently upgraded to TFS 2013 and as part of build upgrade we have rebuild all the activities with latest version of Visual Studio, TFS Assemblies and .Net framework version. All the build controllers were pointing to TFS 2013 compatible custom activity binaries.

We started getting above error on a particular build server which is still running on Team Foundation Server 2012 build services. This server is not upgraded to latest version of TFS build due to the operating system limitation and we didn’t go for OS upgrade because TFS 2013 supports TFS 2012 build services.

But, looks like the custom build activity assemblies should match with Team Foundation Build Services version and not with the Team Foundation Server. We are able to resolve the issue with TFS 2012 build controller by changing custom assemblies path to point to TFS 2012 compatible libraries path.

TF400018: The local version table for the local workspace could not be opened.

Issue: TF400018 The local version table for the local workspace workspacename;username could not be opened. The workspace version table contains an unknown schema version.

Solution: This error usually occurs due to workspace getting corrupted especially when Local workspaces are configured. This error doesn’t allow you to view the source control explorer. To resolve this and to re-use the same workspace, you have to rename the $tf hidden folder which will be created at the root of your local workspace mapped folder.

Copy files in TFS Build

Team Foundation Build workflow provides Copy Directory activity to copy the folder content but its doesn’t have an activity to copy the files. If you need to copy  files as part of the build process then you have below options.

  • Write a custom activity for copying files
  • use Invoke Process activity to call the xcopy or robocopy commandline tools

In this post, I will show the steps to copy a file using Invoke Process activity and xcopy command.

First, you need to drag and drop the InvokeProcess activity from toolbox to the workflow template.

image

This activity contains below properties.

image

FileName (String): FileName of the process that you want to start.
Arguments (String): Command-line arguments that you want to pass to the process.
EnvironmentVariables (IDictionary<TKey, TValue><String,String>): Additional environment variables and their values.
OutputEncoding (Encoding): Encoding that is used to read the output and error streams. Default value will work for scenerios.
WorkingDirectory (String): You can specify the working directory (WorkingDirectory) in which you want to run the process.                                                                                                                                                                                                                                 

Result(Int32): Returns the ExitCode from the process.

For the copy file activity, here are the sample values for above properties.

image

Additionally, Inside the InvokeProcess activity you need to add two activities to display the standard output and error output from your process
WriteBuildMessage activity: This activity should be added under Standard Output, and its property should be set to stdOutput.
WriteBuildError activity: This should be added under Handle Standard Output, and its property should be set to errOutput.

image

TFS 2013 update 2 released

Microsoft has announced the release of Team Foundation Server 2013 update 2 at Build conference this week. There was no updates released for Team Foundation Server in Update 1 and it was completely focused Visual Studio updates, so this time update 2 has lot of new features and bug fixes for Team Foundation Server.

This update either ships improvements or adds new features in below areas.

  • Work Item Tagging
  • Backlog Management
  • Release Management
  • Git
  • Web-based  Test Case Management
  • CodeLens

The installer files for Team Foundation Server 2013 update 2 are available here.

You can also find the KB article here.

Go download and try out the new features nowSmile

Visual Studio 2013 Update 1 Released

Visual Studio 2013 Update 1 is released recently. It’s a small update focused mainly on fixes and improving the experience with old versions of IE (prior to IE 10).

You can download the update at below location.

Visual Studio 2013 Update 1 : http://www.microsoft.com/en-us/download/details.aspx?id=41650

Release Management 2013 for Visual Studio 2013 Update 1 : http://www.microsoft.com/en-us/download/details.aspx?id=41648

KB Article for Visual Studio 2013 Update 1: http://support.microsoft.com/kb/2911573

There is no update 1 to Team Foundation Server 2013 is released.

Visual Studio 2013 Queue Build dialog bug

We have recently upgraded our TFS Instance to Team Foundation Server 2013. I have installed Visual Studio 2013 client on my machine to connect to TFS 2013.

I came across an issue when trying to change the build parameter values in Visual Studio 2013 Queue Build dialog. The entire parameters tab was showing blank.

BuildParameter

Its a bug in Visual Studio 2013 and Team Explorer 2013 and there is a fix available for this issue. The patch for this issue can be downloaded from here.

No exports were found that match the constraint error in Visual Studio

I came across this error when trying to open any files in Visual Studio Solution Explorer. Visual Studio 2013 was working fine for me earlier.

No exports were found that match the constraint: Contract Name Microsoft.VisualStudio.Utilities.IContentTypeRegistryService RequiredTypeIdentity Microsoft.VisualStudio.Utilities.IContentTypeRegistryService

VSerror

I resolved this issue by deleting the Visual Studio Component Model Cache folder at this specific location for Visual Studio 2013.

C:\Users\[username]\AppData\Local\Microsoft\VisualStudio\12.0\ComponentModelCache

If you facing same issue with Visual Studio 2012 then the relevant location is:

C:\Users\[username]\AppData\Local\Microsoft\VisualStudio\11.0\ComponentModelCache