Nuget packages for TFS / VSO Client Object Model

Finally the Client Object Model for TFS / VSO is finally distributed with Nuget Packages, as you can read here. This is a great news especially because the Dll are finally redistributable, and your tool does not need to require a previous installation of Visual Studio or Team Explorer, or Client Object Model Package.

Another interesting fact, is that REST API are now supported for TFS 2015 / VSO (previous version of TFS does not support REST API). If you have traditional application that uses Client Object Model, you can remove all the references to the old dll and directly reference the ExtendedClient Package and you are ready to go.

 

Gian Maria.

Unable to debug dll source code with symbol server

I’ve blogged in the past about using a Symbol server and I recommend to all people to use symbol servers whenever possible, to helping people troubleshooting problem on dependencies. Basically with a symbol server you can reference a dll in your project, but you can debug original source code as if you have the original project linked instead of having the dll.

Sometimes this process just don’t work. Recently I’have a customer that had problem with this scenario, and the real strange stuff is: I’m able to step in dll source code without problem from any machine, but noone of the customer’s developers are able to make it work. After I’ve sent them detailed instruction it worked, and we were able to track down the problem.

Visual Studio has a nice option to cache symbols in local directory to avoid downloading each time from the server. Here are my usual settings.

Visual Studio options to use local folder as a symbol cache

Figure 1: Visual Studio symbols settings

Developers in customer sites decided to use a subfolder of %TEMP% directory and this was the cause. As soon as they moved symbol cache to something like c:\symbols everything starts working. The underling cause is probably due to long paths.

If you have problem using symbol server, try using a really short path for your Symbols Local Cache directory.

In this specific situation we are using free symbols server in conjunction with MyGet nuget package feeds. In my machine here is the location for a source file during debugging.

Z:\Symbols\src\pdbsrc\MyGet\alkampfer\11111111-1111-1111-1111-111111111111\BIGEND\GianMariaRicci\Jarvis.Framework.Kernel\2C5AB5CBD1C74688974B2DDB55F51EDA1\Jarvis.Framework.Kernel\ProjectionEngine\ConcurrentProjectionEngine.cs

Usual %TEMP% variable is something like c:\users\gianmaria.ricci\appdata\local\temp (this is my system and it is long 44 characters), so it is not a good idea to use it for symbol source cache.

Since it is really easy to have really long path for your source when you use a symbol server, it is always a good idea using a short path for symbols cache directory, something like x:\SymSrc is probably the best solution.

If this does not solves your problem, another suggestion is using Fiddler to inspect the traffic between your Visual Studio and the Source Server to understand what is happening.

Gian Maria.

Team Project Rename

Renaming of Team Projects is one of the most requested feature on Visual Studio User Voice:

image

Figure 1: Team Project rename suggestion on User Voice

Today, Brian Harry announced new Visual Studio Online Update and it contains this feature, even if it will not be available to everyone at the beginning. For those people that uses TFS on-premise you will have this feature in the upcoming new version: TFS 2015.

I strongly suggests you to have a look at Visual Studio User Voice and give your suggestion, because it is in the radar of Visual Studio Team.

Gian Maria.

Missing Developer Command prompt for Visual Studio 2013

If you installed Visual Studio 2013 but you are not able to find the “developer command prompt” in your Windows 8 environment, the solution is simple. Just go to the folder

“C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts”

Now right click on Developer Command Prompt for VS2013 and choose “pin to start” and the game is done.

image

Gian Maria.

Removing Network Emulation of Visual Studio Test Runner

Visual Studio has the ability to simulate network speeds during test execution. This feature is nice especially for Load Test, because it permits to really simulate users that have different configuration speed. This ability is granted from a network component that gots installed in your TCP/IP stack and one of the question that usually arise is

I’ve enabled it in my machine, but now I want to remove because I’ve installed only to try to run a load test.

The solution is opening an Administrator Developer Command Prompt and issue the command vstestconfig NetworkEmulation /Uninstall

C:\WINDOWS\system32>vstestconfig NetworkEmulation /Uninstall
 Microsoft (R) VSTestConfig Version 12.0.0.0
for Microsoft Visual Studio v11.0
 Copyright (c) Microsoft Corporation.  All rights reserved.

Network Emulation Configuration:
                Removed network emulation driver successfully.


This will remove completely the emulation Driver. The same command has an /Install option to install it again if you want to run Web Performance test simulating different network speed as well as a /Repair option useful if the component is installed, but Visual Studio complains that he is not able to use it.

Gian Maria.