Teched 2009 Berlin Report I

November 9, 2009

Sunday evening I flew in from Brussels and after my first acquaintance with the public transport in Berlin, I managed to join some other Belgian community people (Gill, Katrien, Hans, Kurt, Bart, Alexandre) for an excellent steak at the Midtown Grill. After dinner we decided to try out some local beers to be sure of a good night’s sleep.

The registration on Monday morning was a bit disappointing. The queues were way too long when I arrived and it took me an hour to get my badge! Still good on time for my first marked session with Brian Harry: A lap around the tester and developer experience with Visual Studio 2010. A lot of attention was of course paid to the new licensing model with Visual Studio 2010 and the more all the stuff sinks in, I’m convinced that it will be a step forward for everyone. At the end of the session we also got to see some ideas which topics will probably be on the planning for the next version Dev11. Requirements management within VS and further evolution of v1 of Test and Lab Manager were high on the list …

After lunch with some ex-colleagues, I witnessed Gill Cleeren winning the first Speaker Idol heat. His ticket for TechEd 2010 is already secured and he may still win his own TechEd 2010 session. Great job Gill!

During the development keynote with Jason Zander I didn’t pick up many new things about the upcoming release of VS2010, but he announced that Microsoft did acquire Teamprise to be able to provide cross-platform support for Team Foundation Server. The Teamprise technology will already become available in the Visual Studio 2010 wave. This should be good news for enterprises with heterogeneous development environments. Read more about the acquisition in the press release and in the blogpost of Brian Harry.

I also got great news from the Belgian Microsoft people (KatrienHans) in Berlin. VISUG and Microsoft Belgium will be organizing another BIG event on December 4 this year. Scott Guthrie will be back in Belgium and we will host a free afternoon session. More detals will soon follow on the VISUG website. We already brainstormed a bit about the possible format for this event! To be continued for sure!

After the Festival of Freedom in Berlin last night and after a short night of sleep, now ready for day 2 of TechEd! You can also follow me on Twitter for quick TechEd updates …


Feedback VS2010 Beta2?

November 6, 2009

So, you are playing around with VS2010/TFS2010 and you have some remarks, suggestions, bugs, … Please go the Microsoft Connect site for product feedback and bug reporting.

Today I filed a suggestion for the next release of Team Foundation Server: Build Definition History. Unfortunately it’s still not possible to view history of changes made to the Build Defintion: “Drop Location”, “Build Agent”, “Trigger”, … On the Microsoft Connect site, you can easily look up other wanted featured and vote for them … but first vote for my suggestion!

Since a few weeks, there’s also a feedback survey running on Microsoft Visual Studio 2010 and the .NET Framework 4 Beta 2. If you care about the product and want your voice heard, please take some minutes to complete this online survey!


TechEd 2009 in Berlin

October 29, 2009

A few weeks ago I finally decided to sign up for TechEd 2009. This year, with the start of Sparkles I wasn’t planning to attend, but hey: some parties are not to be missed. After all, the VSTS sessions look very promising with top speakers and it’s a week I can spend to focus 100% on the VS2010 Beta 2 release I have installed on my laptop.

My scheduled VSTS agenda for TechEd 2009:

November 9

  • VSTS 2010: A Lap around the Developer and Tester Experience (Brian Harry)

November 10

  • VSTS 2010: A Lap around the New Project Management, Architecture, and Governance Capabilities (Brian Harry)
  • Source Code Management with TFS 2010 (Brian Harry)
  • An Agile Talk on Agility (Peter Provost)
  • Software Testing with VSTS 2010: Part 1, an Introduction (Brian Keller)

November 11

  • Software Testing with VSTS 2010: Part 2, Making It Real (Brian Keller)
  • Tools and Agile Teams (Stephen Forte)
  • Microsoft Visual Studio Team System 2010 Team Foundation Server: Become Productive in 30 Minutes (Brian Keller)
  • How Microsoft Does It: Internal Use of TFS and Microsoft VSTS for Software Development (Stephanie Cuthbertson)

November 12

  • Doing It Right: Planning and Tracking Projects with TFS 2010 (Stephanie Cuthbertson)
  • Successfully Administering and Running TFS 2008/2010 (Neno Loje)
  • Architecture Discovery and Validation with VSTS Architecture Tooling (Peter Provost)
  • You Are Still Using Microsoft Visual SourceSafe? (Neno Loje)

November 13

  • Microsoft Visual Studio Team System “Unplugged” (Stephanie Cuthbertson)

Out-of-the-box source server indexing with TFS2010

October 27, 2009

Wow! This is great! Tonight I just wanted to find out if and how it would work …

This is what I did with Beta 2 of Visual Studio 2010 Ultimate and TFS 2010 Basic on my Win7 laptop:

  • created a new Team Project
  • added a new solution with a C# Library Project to the Team Project
  • added a default Team Build to build the C# Library Project
  • added a new solution with a C# WPF Project to the Team Project
  • referenced the library assembly (file reference to dll) into the C# WPF Project and called a method on a class in that assembly
  • set a breakpoint on that line and hit F5 to start/debug the WPF application
  • pressed F11 (Step Into) when breakpoint was hit

Guess what?! Yes, Visual Studio 2010 was immediately stepping into the source file of the C# Library Project! Sweet!

I remember that it took me some time to get this working for TFS2008!

When you create a new Build Definition with TFS2010, the Index Sources option is set to true by default and this will make sure that source indexing is part of the build.

I took a peek into the DefaultTemplate.xaml file in the BuildProcessTemplates folder and found out that the Index Sources and Publish activity is indeed completely baked in! I love it already!



Visual Studio Team Foundation Server 2010 Beta 2

October 20, 2009

Since yesterday, MSDN subscribers are able to download Visual Studio 2010 Beta 2. I’m really excited about this release! Lots of important improvements in different areas of software development practices. I’m looking forward to further test and evaluate this release …

Today I did install already a Hyper-V image with a full blown Team Foundation Server 2010 Beta 2. Installation was absolutely flawless! First I installed IIS 7.0 and SQL Server 2008 on Windows Server 2008 R2. After that I was able to start the setup wizard of Team Foundation Server 2010 that’s now split into an installation part and a configuration part. The first part only copies the required files to the server while the second part takes care of the configuration. I did choose for the Standard Single Server wizard which guided me towards an easy and understandable configuration of the different TFS components. Thank you guys for keeping it simple! Other wizards are provided for more complex scenarios.

What I extremely like is the TFS Administration Console that pops up after closing the configuration wizard! It gives you a nice overview of what’s installed and you can control the project collections, build controllers, service accounts, … A lot of stuff that was managed via the command line in previous versions of Team Foundation Server. Good stuff! This Administration Console will probably evolve even more in the future.

You can start it now manually via Start > Programs (I do remember that with Beta 1 it was a snap-in for Microsoft Management Console).

So, that leaves me to install Visual Studio 2010 Ultimate Beta 2 for starting up a first development project. Note that Team Explorer is now part of the Visual Studio client edition and doesn’t need to be installed separately. Every Visual Studio edition will have a Team Explorer to connect to a Team Foundation Server. Very good!

You might have noticed that Team System did not come up once in this post up till now. I need to recover from the first shock, but the Team System moniker will eventually disappear. Back to the Visual Studio brand! I do not want to go deeper into this holy discussion but I assume there might be good reasons to take this drastic decision. In the end the decrease of different Visual Studio editions should make it more clear for all type of stakeholders. Agree or not … we will have to live with it! The decision has been made!

  • VS 2010 Professional
  • VS 2010 Premium
  • VS 2010 Ultimate

Read more about the different editions here. The Ultimate Edition will contain *everything*, including IntelliTrace (Historical Debugger) and the Test and Lab Manager which won’t be part of the Premium edition.

There’s also an interesting limited offer for existing MSDN subscribers.

Let’s have some fun! In the coming days I will also try out a TFS Basic installation on a Windows 7 OS …


Build Retention Policies in TFS2010

October 11, 2009

I noticed some interesting changes for the Build Retention Policies in TFS2010 (Beta 1):

  • possible differences between retention policy for triggered and manual builds vs private builds

    You will be able to set another retention policy on private builds: builds that are run by the enabled Gated Check-in trigger.

  • extra What to delete column

    You will be able to specify more in detail what information must be deleted when the retention policy kicks in.


MSTest.exe exited with code -2146233082 during Team Build

September 17, 2009

Recently I was faced with a failure in a Team Build caused by MSTest that crashed when firing up the Unit Tests.

MSBUILD : warning MSB6006: "MSTest.exe" exited with code -2146233082

Digging a bit deeper and running the Unit Tests manually with MSTest on the build server via the command line showed me a dialog box with the following notification:

MSTest.exe has encountered a problem and needs to close. We are sorry for the inconvenience.

Nothing more, nothing less! Hmm … Note that this behavior only surfaced after SP1 of Visual Studio 2008 and TFS 2008 was installed on the build server. Before, everything worked fine. On my local development pc (with SP1 of Visual Studio 2008) all Unit Tests run without any problems.

Let’s take a look at the eventviewer to get some extra information of what’s going wrong here …

Two interesting events were logged:

  1. .NET Runtime version 2.0.50727.3053 – Fatal Execution Engine Error (7A035E00) (80131506)
  2. Faulting application mstest.exe, version 9.0.30729.1, stamp 488f21a6, faulting module mscorwks.dll, version 2.0.50727.3053, stamp 4889dc18, debug? 0, fault address 0x001c5e00.

After searching for these errors on the web I came across some blog posts that mentioned the same Fatal Execution Engine Error but the scenario where this error occurred was totally different. It had something to do with Visual Studio disappearing unexpectedly but apparently there was a hotfix available on Microsoft Connect for this Fatal Execution Engine Error. So, with no other options at that moment I decided to go for the hotfix and see what happened.

The hotfix indeed did fix the problem, but I’m still puzzled what actually caused the problem. Strange was that certain Unit Test assemblies did run well on the build server while others even didn’t get started due to the above conditions …

[I did also log this error on the Testing forum of Visual Studio Team System]


Generating ClickOnce packages with Team Build 2008

September 7, 2009

Last week I spent way too much time on troubleshooting an issue with generating a ClickOnce package with a Team Build. Generating the package was actually not the problem, but running the application always resulted in …

Reference in the manifest does not match the identity of the downloaded assembly x

It was clear that something was wrong with the manifest, but I could not find what was keeping the application from launching. I checked and double checked the build script and the way the package was built but could not find an indication of the above error. Publishing the application from within Visual Studio 2008 seemed to work without any hitches and it was then that I noticed the following setting in the Application Tab of the Start Project in Visual Studio.

Visual Studio 2008 embeds by default a manifest inside an assembly. This means that the ClickOnce executable was using this default manifest instead of the manifest that was generated with Team Build. Switching to the other option to not generate a manifest with Visual Studio did solve the issue!

Hopefully I can save someone’s time with this blogpost!


More fine-grained permissions in TFS2010

September 3, 2009

Recently (in TFS2008) I was stuck with the fact that I could not split up the permission to create/modify builds and the permission to create/modify build agents. In certain enterprise environments it might be necessary to revoke the right from development teams to create/modify build agents. Build agents may be for instance controlled centrally by an operations team that manages all build servers. In TFS2008 both tasks belong to the “Administer a buid” permission.

The good news is that TFS2010 will offer a lot more fine-grained permission sets! You will now have the possibility to set permissions on the Team Project Collection, on the Team Project, on the Build Definition level and on the Version Control repository!

  • Team Project Collection
    • Administer shelved changes
    • Administer test controllers
    • Administer warehouse
    • Administer workspaces
    • Alter trace settings
    • Create a workspace
    • Create new projects
    • Delete a team project
    • Delete team project collection
    • Edit collection-level information
    • Make requests on behalf of others
    • Manage build resources
    • Manage process template
    • Manage work-item link types
    • Trigger events
    • Use build resources
    • View build resources
    • View collection-level information
    • View system synchronization information
  • Team Project
    • Administer test environments
    • Create test runs
    • Create team project
    • Delete test runs
    • Edit project-level information
    • View project-level information
    • View test runs
  • Build Definition
    • View Builds
    • Edit build quality
    • Retain indefinitely
    • Delete builds
    • Manage build qualities
    • Destroy builds
    • Update build information
    • Queue builds
    • Manage build queue
    • Stop builds
    • View build definition
    • Edit build definition
    • Delete build definition
    • Override check-in validation by build
  • Version Control
    • Read
    • Check Out
    • Check In
    • Label
    • Lock
    • Revise other users’ changes
    • Unlock other users’ changes
    • Undo other users’ changes
    • Administer labels
    • Manage permissions
    • Check-in other users’ changes
    • Merge
    • Manage branch

Great! There are a few permission that are new and that I certainly want to look into a bit deeper … but now let’s go back to my problem in TFS2008 and how to fix it in TFS2010. Right clicking the Team Project Collection brings me to the permissions on the Project Collection level.

The permission to Manage build resources allows people to create and modify build controllers and agents.

Right clicking Builds brings you to the permissions on the build definition level.

The permission to Edit build definition allows people to create and modify new build defnitions.


Visual differences of changesets via command-line

August 24, 2009

Scenario : as a developer you want to manually view all the differences between the two last changesets without having to spend your time reviewing file after file in the UI differences window.

Go the command prompt and use the tf diff[erence] command:

tf diff source /version:C22~C23 /recursive /format:unified > C:\Temp\diff.txt

  • source is the name of the folder I want to recursively [/recursive] look up all differences
  • /version:C22~C23 means that I want to find only the differences between changeset 22 and changeset 23
  • /format:unified sets the output type to the Unified format derived from the UNIX based diff –u output format
  • > C:\Temp\diff.txt sends the output to the diff.txt textfile

When finished open the diff.txt file in an editor that supports a difference scheme. In the example below I used Notepad2 to load the output file in the diff scheme.

The information written into the textfile is only the specific region in each textfile that’s different from the previous changeset. It’s a nice way to visually review only the portions of a set of files that were changed. It will save you a lot of time if you otherwise would want to review file by file via the GUI.