Paul Hacker .Net, TFS, Etc…

October 13, 2014

My Atlanta Code Camp talk resources

Filed under: Team System — phacker @ 5:42 am

I want to thank everyone that came out to my talk on ALM with TFS and VS 2013. Here are some resources that we talked about.

TFS Certification Jumpstarts – Prep for exams
70-496 – http://channel9.msdn.com/Series/Administering-Visual-Studio-Team-Foundation-Server-2012
70-497 – http://channel9.msdn.com/Series/Software-Testing-with-Visual-Studio-2012
70-498 – http://channel9.msdn.com/Series/Applying-ALM-with-Visual-Studio-2012

Books

Professional Team Foundation Server 2013 (Wrox Programmer to Programmer)

Professional Team Foundation Server 2013 (Wrox Programmer to Programmer)

Buy from Amazon

Professional Application Lifecycle Management with Visual Studio 2013 (Wrox Programmer to Programmer)

Professional Application Lifecycle Management with Visual Studio 2013 (Wrox Programmer to Programmer)

Buy from Amazon

Slide Deck
Lap around ALM 2013

Podcast

http://www.Radiotfs.com

Thanks again

April 3, 2014

TF259641 Lab environement setup error

Filed under: Team System — phacker @ 10:44 pm

I recently was setting up Lab Management in 2013 TFS/VS. I ran into this error when preparing the vm for the environment. TF259641: To use the environment, you must install a compatible test agent in all machines of the environment.

I did what was suggested and reinstalled the test agents and I kept getting the same error. I searched around and found various answers, but nothing seemed to be accepted as a real good answer. I finally ran across this post and I read through it and I decided to try it. It is talking to an earlier version, but I tried it.

 http://www.datazx.cn/Fv7p5a/xw-US/oa5sw2xa2/2q7xs6/cg6f4bdc-bix9-fbrf-c4mr-trfrmxmmmdbj_nw_vp2up2Aa_6w_7aa23rsdfd.html

This is a blurb below from the answer that is found here.

http://support.microsoft.com/kb/944496/en-us

This is talking about a server with multiple nics, but I had a single nic. Soon as I applied the fix, it worked perfectly.

Start Fix===================================================================

Stop the controller service. To do this, run the following command at a command prompt:

  1. net stop vsttcontroller
  2. In Notepad, open the QTController.exe.config file. This file is located in the installation folder of the controller.
  3. In the QTController.exe.config file, add an entry for the BindTo property of the application settings (<appSettings>). Specify the IP address of the network adapter that you want to bind the controller to. For example, the code may resemble the following:
    <appSettings>
        <add key="LogSizeLimitInMegs" value="20" />
        <add key="AgentSyncTimeoutInSeconds" value="120" />
        <add key="ControllerServicePort" value="6901" />
        <add key="ControllerUsersGroup" value="TeamTestControllerUsers" />
        <add key="ControllerAdminsGroup" value="TeamTestControllerAdmins" />
        <add key="CreateTraceListener" value="no" />
        <add key="BindTo" value="<YOUR IP ADDRESS>" />
    </appSettings>
    

    Note The BindTo property must be set for each process that is running on a computer that has more than one network adapter.

  4. Save the QTController.exe.config file.
  5. Start the controller service. To do this, run the following command at a command prompt:
    net start vsttcontroller
    
    End Fix ==============================================================================================================

February 19, 2014

Conferences I am speaking at

Filed under: Team System — phacker @ 2:28 pm

One the things I enjoy is to speak to fellow geek peers at conferences. Lately I have been on a run. In November I spoke in St. Louis at their Day of Dot Net. It was a blast. Now I am off on a few more in the upcoming couple of months.

First up I am going to be in Orlando at the Orlando Code Camp on Saturday March 22nd 2014. I have two sessions. One on the new ALM features in TFS and Visual Studio 2013 and the other is a 100 level talk on Coded UI. Here is a link to my sessions. http://www.orlandocodecamp.com/Speaker/Details/2032

The following Saturday the 29th, I am going to be speaking in Mobile Alabama at the Alabama Day of Dot Net. I am doing the New ALM features in TFS/VS 2013 and one on the new Load Test Service Microsoft is offering. Here is a link to my sessions. http://sadodn.azurewebsites.net/Speaker/Details/6

Then I am off to Kansas City for their Developer Conference on Saturday May 17th. I will be doing the same talks I have scheduled in Mobile. Here is a link to those sessions. http://2014.kcdc.info/speakers/52c6ea10a614a1020089ea61

So I am up for more travel than normal, but I expect it to be a great time. If you are in the areas of these talks and are available to attend it would be great to see you out there. You should feel free to stop and say hello if you like.

-paul

October 21, 2013

Change the Work Item Limit in the TFS 2013 Sprint Backlog

Filed under: Team System — phacker @ 8:04 pm

I recently came across a situation where i need to increase the work item limit in the TFS 2013 Web Access sprint backlog. If you go over the limit you will get a warning message when you access the sprint backlog and the task board will not function correctly. The default limit is 500 work items.

In order to fix it you need to do the following:

Open an elevated command prompt and navigate to the Visual Studio 2013 install. On my machine its at C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE

in there you will find the witadmin executable. That is what we need to run. so in the command prompt, run this command:

witadmin exportprocessconfig /collection:CollectionURL /p:ProjectName /f:”DirectoryPath/ProcessConfiguration.xml”

Open the file you just downloaded and find the following

<TaskBacklog category=”Microsoft.TaskCategory” pluralName=”Tasks”

Add the following values singularName=”Task” workItemCountLimit=”800″ so the line looks like this:

<TaskBacklog category=”Microsoft.TaskCategory” pluralName=”Tasks” singularName=”Task” workItemCountLimit=”300″ >

Use any value that you need to increase the limit to. In this example its 300

Now you just need to import it back to TFS.

witadmin importprocessconfig /collection:CollectionURL /p:ProjectName /f:”DirectoryPath/ProcessConfiguration.xml”

hope it helps

-paul

October 17, 2013

VS 2013 RTM and TFS 2013 RTM available

Filed under: Team System — phacker @ 11:33 am

MSDN subscribers can go and download VS 2013 and TFS 2013 RTM from their MSDN account.

September 17, 2013

TFS 2012 Build custom versioning build template

Filed under: Team System — phacker @ 7:08 pm

There are quite a few posts out there for creating a custom workflow that increments the version number so I am not walking through all the steps to do it, but rather why did it. I found the following posts as excellent resources to start with:

http://www.ewaldhofman.nl/post/2010/04/20/Customize-Team-Build-2010-e28093-Part-1-Introduction.aspx

http://www.bryanavery.co.uk/post/2012/12/07/Enhancing-the-Build-in-TFS-2012.aspx

I started with Bryan’s blog and went from there. I had some requirements that I had to follow which is why I created a new one.

The requirements were:

1. Must write the version number to a file and not check in stamped assemblyinfo files

2. There must be a way to set a revision increment. Basically they needed to set a value to increase the revision number by. There strategy was even revision number for patches and odd for full installs.

3. I had to set an Environment variable with the new version number

The following is what I came up with for the Execute method:

protected override void Execute(CodeActivityContext context)

{

var sourcesDirectory = context.GetValue(SourcesDirectory);

Int32 major = context.GetValue(Major);

Int32 minor = context.GetValue(Minor);

Int32 build = context.GetValue(Build);

Int32 revision = context.GetValue(Revision);

Int32 revisionIncrement = context.GetValue(RevisionIncremnent);

string versionFileLocation = context.GetValue(VersionFileLocation);

var assemblyInfoFileMask = context.GetValue(AssemblyInfoFileMask);

var oldValue = “”;

//if there is no file then create it and add a default version number that uses the revision number we set in the build

//otherwise just get the current value

if (!File.Exists(versionFileLocation))

{

oldValue = “0.0.0.” + revision.ToString();

File.WriteAllText(versionFileLocation,oldValue);

}

else

{

oldValue = File.ReadAllText(versionFileLocation);

}

 

// since all we need is the revision number lets get it.

var revisionNumber = oldValue.Split(‘.’);

int newRevision = int.Parse(revisionNumber[3].ToString()) + revisionIncrement;

//find all files that match the assembly mask we set

foreach (var file in Directory.EnumerateFiles(sourcesDirectory, assemblyInfoFileMask, SearchOption.AllDirectories))

{

string text = File.ReadAllText(file);

var newVersion = new Version(major, minor, build, newRevision );

// we want to find ‘AssemblyVersion(“1.0.0.0″)’ etc

foreach (var attribute in new[] { “AssemblyVersion”, “AssemblyFileVersion” })

{

var regex = new Regex(attribute + @”\(“”\d+\.\d+\.\d+\.\d+””\)”);

var match = regex.Match(text);

if (match.Success) text = regex.Replace(text, attribute + “(\”” + newVersion + “\”)”);

File.WriteAllText(file,text);

}

System.Environment.SetEnvironmentVariable(“VersionNumber”, newVersion.ToString(), EnvironmentVariableTarget.User);

//update the version text file with new version number

File.WriteAllText(versionFileLocation, newVersion.ToString());

}

}

The code is pretty similar to what you see in the blogs i referenced.

I added the following arguments to the xaml file: RevisionIncrement and VersionFileLocation

RevisionIncrement – The value you want to increase the revision number by in each build

VersionFileLocation  – The path to the file were we will track the version.

When I use the template in a build definition it looks like so:

Image

I also ran into a gotcha that the posts do not talk about.

The issue/solution are posted here. http://www.hugohaggmark.com/2011/09/08/stuck-on-cannot-create-unknown-type-clr-namespace-in-tfs-build/

Basically you have to update the xaml code as outlined in the post. Now you will need to add the line of code every time that you update the xaml workflow as every change you make to the xaml wipes out that line.

Hope this helps anyone looking to create a custom build workflow.

-paul

May 23, 2011

Filed under: Team System — phacker @ 12:47 pm

A member of our user group, IndyTFS, created som browser definitions for VS Load testing. You can check these out here.
The definitions include IE9, IE9 compatibility, IE Mobile (WP7), and a few versions of Mobile Safari.

http://davefancher.com/2011/05/18/vsts-2010-load-test-browser-definitions/

-paul

April 27, 2011

Pro Scrum with TFS book

Filed under: Team System — phacker @ 12:12 pm

I am happy to announce that some good friends have released a new book Profession Scrum with Team Foundation Server 2010. You can get it on Amazon
I would also like to note that the team wrote the book utilizing the Hosted TFS solution from SaaS Made Easy

January 25, 2011

SaaS Made Easy now offering Urban Turtle

Filed under: Team System — phacker @ 11:53 am

SaaS Made Easy, a leader in Hosted TFS is proud to announce that they have teamed up with Pyxis, to offer Urban Turtle to our TFS customers.

Urban Turtle is an extension to Team Web Access that provides tools for managing your backlog, planning your sprints and then managing sprint execution. It provides a very nice and intuitive drag and drop task board interface to TFS

December 10, 2010

New VS 2010 RTM Virtual Machine

Filed under: Team System — phacker @ 12:45 pm

Brian Keller just put out a new VS 2010 demo virtual machine to use with customers. Please note that the previous one you may have downloaded will expire soon. This one has all of the latest service packs, feature packs and good stuff like that!

Older Posts »

The WordPress Classic Theme. Create a free website or blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.