Friday, August 21, 2015

Visual Studio 2015–Enable NuGet Package Restore is gone

Yesterday when creating a new solution in Visual Studio 2015, I noticed that the ‘Enable NuGet Package Restore’ option had disappeared from the solution context menu. Bedroefde emoticon Whooops! What happened?


On StackOverflow I found that Microsoft has dropped support for the 'Enable NuGet Package Restore' in VS2015. Starting from NuGet 2.7 the way NuGet Package Restore works has changed. By default the NuGet Visual Studio extension integrates into Visual Studio's build events and restores missing packages when a build begins.

More information can be found in the NuGet documentation.

Thursday, August 20, 2015

What defines a successful Scrum Master?

Over the years I worked with a lot of teams in different roles; as a developer, architect, tech lead, and so on…  Sometimes we were successful, sometimes we failed. With Agile becoming mainstream, the role of the Scrum Master is one extra role to add to the list.

But as a Scrum Master, how do you know you are doing a great job? Different organizations are in different stages of an Agile transformation, teams are different, business is different,… Still there is a common ground and a set of practices that can help you succeed as a Scrum Master.

Vasco Duarte wrote a great article about these practices useful for everyone in a Scrum Master role today.

From the article:

In order to help Scrum Masters create their own approach we have collected many different views in the Scrum Master Toolbox podcast and have collected some of them here for you to read and refer to in the future. Below you will find a list of 15 tools and approaches that Scrum Masters all over the world use.  Experienced Scrum Masters explain how they define and measure their own personal success as Scrum Masters, and share their lessons learned about how to achieve success. From how to deal with stakeholders, to how to improve your coaching skills, to how to help the team achieve a sustainable pace. The lessons shared below come from many years of experience and will help you improve your performance as a Scrum Master.

We’ve also added a few caveats and warnings that you must take into account. The goal: help you succeed as a Scrum Master.

Go check it out!

Wednesday, August 19, 2015

Team Foundation Server 2015–New build agents–Installation issue

Yesterday I talked about the new agent based build system introduced in TFS 2015. I mentioned how easy it was to install them, … until you get into trouble. Today I encountered an issue when rolling out an agent on existing server. When I invoked the ConfigureAgent.ps1 script, it failed with the following message:

PS C:\build> .\ConfigureAgent.ps1
Unblocking files
The term 'Unblock-File' is not recognized as the name of a cmdlet, function, script file, or operable program. Check th
e spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\build\ConfigureAgent.ps1:12 char:52
+ Get-ChildItem -Path $currentLocation | Unblock-File <<<<  | out-null
    + CategoryInfo          : ObjectNotFound: (Unblock-File:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

The term 'Unblock-File' is not recognized as the name of a cmdlet, function, script file, or operable program. Check th
e spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\build\ConfigureAgent.ps1:13 char:67
+ Get-ChildItem -Recurse -Path $currentLocation\Agent | Unblock-File <<<<  | out-null
    + CategoryInfo          : ObjectNotFound: (Unblock-File:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Cannot find an overload for "Combine" and the argument count: "3".
At C:\build\ConfigureAgent.ps1:15 char:43
+ $agentLocation = [System.IO.Path]::Combine <<<< ($currentLocation, 'agent', 'vsoAgent.exe')
    + CategoryInfo          : NotSpecified: (:) [], MethodException
    + FullyQualifiedErrorId : MethodCountCouldNotFindBest

Write-Error : File not found:
At C:\build\ConfigureAgent.ps1:19 char:16
+     Write-Error <<<<  "File not found: $agentLocation"
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Microsoft.PowerShell.Commands.WriteErr

When I invoked the $PSVersionTable.PSVersion command, it returned me the following:

Major  Minor  Build  Revision
-----  -----  -----  --------
2      0      -1     -1

To run the ConfigureAgent.ps1 script, at least version 3 of Powershell is required. Downloading a more recent version should solve the problem.

Tuesday, August 18, 2015

Team Foundation Server 2015– New Build Agents

Team Foundation Server 2015 introduces a new agent based build system(the old  XAML Workflow based system is still supported).

From the website:

“The new builds are web- and script-based, and highly customizable. They leave behind many of the problems and limitations of the XAML builds. For example, this new system embraces the diverse set of domain-specific languages (DSLs) that developers used to build the code on their dev machines. We expect this will reduce the chances of running into the "builds fine on my machine but not on the CI server" problem. For more details, see Overview of Team Foundation Build 2015.”

Installing these new build agents is easy:

  • Open the TFS Web Access
  • Click on the Administer Server icon in the right corner image
  • Click on the Collection at the top. (In my case ‘DefaultCollection’) image
  • Click on the Build tab image
  • Click on Download Agent to download the agent as a zip fileimage
  • Extract the zip file on your build server(choose a short file path)
  • Open Powershell and invoke the ConfigureAgent.ps1 script
  • Follow the wizard

More information:

Monday, August 17, 2015

Azure Runbooks gallery

In a true ‘DevOps’ spirit, we are evolving our TFS infrastructure from a manually configured environment to a fully scripted setup. One great resource are the Azure Runbooks, a large list of PowerShell scripts that allow you to automate the most common actions in Azure.


These runbooks can be combined with Azure Automation helping you to automate your Cloud OS processes.

Thursday, August 13, 2015

Enable EcmaScript 6 support in Visual Studio Code

Recently Microsoft announced the support for EcmaScript 6 in Visual Studio code.
However when you try to use ES6 features, you get errors:
Hovering over the error, gives some insight on how to fix this:
We have to create or edit our jsconfig.json file and change the target to ES6.
Add a new file and call it jsconfig.json. Add the following configuration settings:
If you now go back to the code file, the errors are gone:
Happy coding!

Start upgrading to .NET 4.5.2 or higher if you are on .NET 4.x

With the release of Visual Studio 2015 and .NET Framework 4.6, Microsoft did some important announcements regarding future support for .NET. If you are a .NET 4.x versions, starting from January 12, 2016, Microsoft will only support .NET Framework 4.5.2 or higher. So if you are using .NET Framework 4, 4.5 or 4.5.1 start updating to .NET 4.5.2 before this date.

As .NET 4.5.2 is an in place upgrade, the impact on your existing .NET 4.x applications should be limited.

Remark: This is only relevant for the .NET 4.x stack, older versions of .NET remain supported.

More information: