Wednesday 25 November 2020

Quick fix for MSB4018 The RazorTagHelper task failed unexpectedly.

 After upgrading to Visual studio 16.8.0 some of your projects depending on Netstandard 2.0 may not build due to Razor Tag Helper task failing.

The Output Window will show a message containing the following:-

MSB4018 The RazorTagHelper task failed unexpectedly. 


The Fix

  1. Install 3.1 SDK of .NET Core. Can be located from the following link:- https://dotnet.microsoft.com/download/dotnet-core/3.1
  2. Add global.json file to your visual studio project and add the following to it to pin the project to 3.1 SDK:-

    {

          "sdk": {

                    "version": "3.1.403"

                      }

    }


To Reproduce

Open an existing .NET Core 2.2 app in VS 16.8.0

Build the project.

The Error will be displayed in the Error window and the project cannot be run.

Wednesday 11 November 2020

GIT intergration with Visual Studio 2019 version 16.8.0

 Git integration into Visual Studio 2019 is interesting, but has disrupted my usual work flow with the IDE.  The latest Visual Studio update changed the behaviour of Team Explorer tool window. So be careful when updating VS to version 16.8.0.

The removal of changes menu item from the Team Explorer menu, now is a bit of an inconvenience, and you have to use the Git menu on the main menu of the IDE.




Of course now you have a Git Changes Explorer tool window, another tab to click on to view the changes made in code files.  I prefer the old method, via Team Explorer, and the changes menu item, but I guess with time the Git Changes tab will grow on me.

However I do like the work items menu in Team Explorer.  You, now can create new branches from Azure DevOps Work Items using the new ‘create branch’ dialog. Just go to the Work Items panel from Team Explorer and right click a work item to create a new branch from it.  And out of the box the default source control provider is Git.

Is this a hint that Microsoft may drop Team Foundation Version Control?  Last year TFVC was dropped from the Visual Studio for Mac, and now Git is the default source control provider for new installations of Visual Studio 2019 seems to send a message that Microsoft have change of plans for TFVC.

Thursday 24 September 2020

Positive Work Principals Are More Productive

A positive workplace is more successful over time because it increases positive emotions and well-being. This, in turn, improves people’s relationships with each other and amplifies their abilities and their creativity. 


Qualities of a positive workplace culture boils down to six essential characteristics:

Caring for, being interested in, and maintaining responsibility for colleagues as friends.

Treating one another with respect, gratitude, trust, and integrity.

Emphasizing the meaningfulness of the work.

Providing support for one another, including offering kindness and compassion when others are struggling.

Avoiding blame and forgive mistakes.

Inspiring one another at work.


It buffers against negative experiences such as stress, thus improving employees’ ability to bounce back from challenges and difficulties while bolstering their health. And, it attracts employees, making them more loyal to the leader and to the organization as well as bringing out their best strengths.

When organizations develop positive, virtuous principles they achieve significantly higher levels of organizational effectiveness — including financial performance, customer satisfaction, productivity, and employee engagement.


Saturday 22 August 2020

Behaviour-driven development is a Key Tenet of Nimble Organisations

 The first step in every project is a discussion about the behaviours of the product or feature to be built. A businessperson or client comes up to the development team and explains what they want.

Sometimes these interactions come in form of an user story, other times they come in the form of design documents, come as flowcharts or mock ups, or even hurried phone calls.

From these communications alone, the development team is responsible for constructing a system that “just works”.

This is especially difficult for freelancers working outside the larger system.

Behaviour-driven development focuses on the business behaviours the code is implementing: the “why” behind the code. It supports a team-centric (especially cross-functional) workflow.

From my experience Behaviour-driven development works really well when the developer and business person sit down together and write pending specifications:-

  1. The business person specifies behaviours they want to see in the system.
  2. The developer asks questions based on their understanding of the system, while also writing down additional behaviours needed from a development perspective.

Ideally, both parties can refer to the list of current system behaviours to see if the new feature or behaviour will break existing features.

This collaborative approach lets the developer focus on what the feature provides for the end user, and having the business person right there constrains the developer to talk about behaviour, not implementation.

Behaviour-driven development is about collaboration & communication, and collaboration & teamwork are the key tenet of a Nimble Organisation.

Thursday 20 August 2020

Nimble Organisations

Successful businesses today are making strides to create a culture that promotes agility, flexibility and adaptability.  Everything from their policies, systems and core values encourage this type of workplace 

But organisations need Nimbility, to succeed in todays business market. They need to be rapid, quick, fast. The organisation needs to adapt rapidly to shifting markets, changes in business requirements. 

A key factor for any organisation to be nimble, 
  • The decisions need to be made at the lowest levels possible. ·       
  • Has no Senior Management ·       
  • Has Leaders ·       
  • Have missions and values, not vision.   
  • Has structure without hierarchies
  • Employee turnover is relatively low.
  • Has Core Principles, not culture.
Nimble organisations do the following really, really well:- 
Get comfortable with change: Agile organizations are comfortable with change and do what they need to do to address these new challenges. 
 Be clear and simple: Any process, procedure or policy that is overly cumbersome must get kicked to the curb and replaced with a simpler approach, and one that perpetuates and supports faster decision-making and more responsive actions.  
Balance stability with agility: First, the perfect blend of standardized and structured rules and processes combined with individual freedoms and flexibility needed to seize market opportunities and respond swiftly to customer demands. Second, a workforce and leadership team functioning in perfect harmony and high collaboration, high trust work environments. 
Trust and Empower employees: Trusting and empowering employees, divisions and teams to shift their focus and develop new products, services and methodologies is imperative. Employees must also be entrusted to make decisions at the lowest levels. 
Collaboration and Teamwork: Siloes and barriers to teamwork are broken down and leaders lead the way to facilitating healthy dialogue and reward those who collaborate well. Agility- focused leaders know that having more “brains in the game” will lead to better ideas and innovative developments.