Category name:Visual Studio Team System

Building a solution

Today our team leader asked me to get someone in our team started on a new solution. This entails 2 things:

  1. A dev tree
  2. Tests and code (and yes, I choose this order on purpose)

 

The Dev Tree

Suppose you have to make a new solution.

 

  • Create root:
    • $/TeamProject/<SolutionName>
  • Create main branch:
    • $/TeamProject/<SolutionName>/Dev
  • Create lib & src folder:
    • $/TeamProject/<SolutionName>/Development/lib
    • $/TeamProject/<SolutionName>/Development/lib/Unity
    • $/TeamProject/<SolutionName>/Development/lib/EnterpriseLibrary
    • $/TeamProject/<SolutionName>/Development/src
    • $/TeamProject/<SolutionName>/Development/src/Applications
    • $/TeamProject/<SolutionName>/Development/src/Framework
    • $/TeamProject/<SolutionName>/Development/src/Tests/Unit Tests
    • $/TeamProject/<SolutionName>/Development/src/Tests/Integration Tests

In the ‘scr’ folder you create the solution with the solution name. In the the solution you should create the same solution folder structure as on the file system, just to keep things easy to find. Be careful though, when you create new projects, Visual Studio doesn’t automatically set the project in the same folder as the solution folder you created it in.

Keep your structure in the tests the same as the structure of the ‘real’ projects. So if you have:

Project.Naam/Visitors/PaymentVisitor.cs

Than you should have:

Tests/Unit Tests/Test.Project.Naam/Visitors/PaymentVisitorTests/

Keep your project name the same as the assembly name. So if you have TeamProject.Billing.Framework.dll, your project name should be TeamProject.Billing.Framework.

This would also be a good time to add an automatic build. We use FinalBuilder which is an excellent tool – Dennis did an excellent job explaining why -  and we created a template for making automatic builds. This speeds up the creation process and that should help with the adoption of continuous integration and nightly builds. Generally it should help adoption of a strive towards better quality.

Now add tests and code…

(more…)

The Visual Studio performance and coverage logging engine is already running on the computer

Something really annoying happens in Visual Studio when I debug my tests. No tests run, because of a test run error:

Code coverage collection error: The Visual Studio performance and coverage logging engine is already running on the computer. Therefore, the test run cannot continue. Close the pending performance or code coverage session and then rerun the tests.

I open up the Task Manager and there is VSPerfMon.exe which is causing the problem. End the process and everything is fine again. But why won’t it shut down?

Well the reason for that  is that I stop debugging my tests while they are still executing. Let them run and fail and there is no problem.

Unable to launch the ASP.NET Development Server because port ‘n’ is in use.

I had a problem today. My ASP.NET Development server wouldn’t start because the specified port was already in use. The port number was 50678, so it wasn’t very likely that it actually was in use. But I decided to check anyway. But as expected ‘netstat –a’ gave me no results for port 50678.

Restarting VS or my PC didn’t help….

It had to be some sort of firewall issue then. So I turned of Windows Firewall, but that didn’t help at all. Weird stuff.

Some searching on the net brought me to the following question and the answer from Macros:

http://stackoverflow.com/questions/607562/visual-studio-development-server-using-wrong-port

And (mostly for my own reference) here’s the management summary:

  • the cause: NOD32 is blocking the ASP.NET Development Server.
  • the solution: configure NOD32 to no longer see VS as a web browser. (setup -> advanced firewall setup -> antivirus & anti spyware -> web access protection -> HTTP –> webbrowsers)

 

Hope it helps you as well…

Visual Studio Team System 2010 and Team Foundation Server 2010: already in love with all the new features!

An exhausting day at PDC… Here are the sessions that I did:

  • Keynote: Windows Azure
  • Microsoft Visual Studio Team System: A Lap Around VSTS 2010

  • ASP.NET 4.0 Roadmap

  • Team Foundation Server 2010: Cool New Features

  • WF 4.0: A first look

 

I really love the new features of VSTS and TFS; I can hardly wait to start using them…

 

I will not go into a lot of detail here, instead I will highlight a couple of the main features and hope it will incourage you to go and view the session online.

 

Microsoft Visual Studio Team System: A Lap Around VSTS 2010

Cameron Skinner put it real nicely with 4 key points all getting rid of things we do not like as Developers. VSTS 2010 is focussed on making the developers happy…

No More ‘No Repros’

Basically focusses on getting more complete data from the testers to make it easier to sea where/why/when a bug occured. What do you think of a Manual Test Runner with a recorder to capture a video which can be viewed by the developer? Or what about a System Info tab in the workitem? Or a Debug History window, where you can ‘debug’ the code on the server from the nightly build as if it were happening live?

These things really are going to make the developers life a lot easier.

No More Broken Builds

This is a developers dream come true: being unable to break the build. No more buying cake for the team…

Made possible by:

Gated Check-in, which is more a TFS feature than a VSTS one but who cares. If set up on the server, you cannot check in changes if these changes break the build.

Test Impact Analysis, which is a feature that analyses a changeset to see which test is most likely to be affected by the change, so you can start with that test.

No More Butterfly Effects

This is all about preventing code rot.

Builds may fail by a violation of your architectural design. You can make a .layer diagram and the actual solution is tested against this design.

The Architecture Explorer generates a diagram of the actual architecture of the solution and you can drill down into great detail in the diagram as well as jump to the code.

A sequence Diagram can also be created, making it easier to see where the butterfly might cause a storm…..

No More Regression

There is a new kind of test: The CodedUI test with a recorder for Web and it will be there for WinForms as well as WPF. Silverlight is regretably not planned yet.

 

Team Foundation Server 2010: Cool New Features

Protect Code Quality

Gated checkin

Buddy Builds or private builds: run on the server but without checkin

Workflow based build creation. Basically something like finalbuilder.

Parallel build tasks

Parallel Development

Branches have become real entities instead of folders and they are hierachically linked. The relations can be viewed visualy as well.

You can track changesets, workitems and annotations through merges; again with diagram.

Rollback is finally here..

Managing Projects

New excel workbooks, excel report generation from Query.

Workitems link and hierarchy improed

Query improvements