Why .NET-C# developers struggle with Dynamics 365 Development

Ben "The Hosk" Hosking
4 min readMar 22, 2021

“Practice creates the master.” — Miguel Ruiz

Experience is important for Dynamics 365 developers because with development you learn how it doesn’t work, whilst learning how it works e.g. mistakes. There is no shortcut to mastery, it takes time, hard work, learning and trial and error.

Microsoft Dynamics 365 can be illogical but you get used it, making mistakes and learning is the cost of experience.

Experience is gained by creating customisations and them not working (often in many different flavours of not working) before getting them to work. Understanding how functionality doesn’t work, helps you understand how it works.


When a Dynamics 365 developer starts developing a plugin, he will learn the all the steps you need to take and the hoops you need to jump through

I went through some of the common problems in this blog but here is a quick recap

  • setup up Dynamics Developer toolkit
  • User has to be CRM Admin
  • Isolation mode? if none user has to be a deployment administrator
  • plugin needs to be signed

These are simple steps to create and register a plugin, that’s without even thinking about the code and if it works, testing, debugging etc.


There are lots of great tools in the XRM toolbox which everyone uses to make development easier. The XRM toolbox is the ultimate tool.

WHY .NET/C# struggle developing

Companies will use C# resources on Dataverse/Dynamics projects which they think they will use to do some Dynamics 365 customization.

This theory seems sound, the actual C# code in a plugin is small and simple but for a C# Developer with no Dynamics 365 experience it’s confusing with illogical rules.

Ben "The Hosk" Hosking

Technology philosopher | Software dev → Solution architect | Avid reader | Life long learner