FakeXrmEasy is an invaluable tool for development of Dynamics CRM/365/Dataverse software and using it will make your life as a developer much easier and will undoubtedly help you write more robust, maintainable code. FakeXrmEasy implements an in-memory version of the XRM database and provides mocked version of most of the main methods provided by the IOrganisation service. You may, however, occasionally come across a method which has not been implemented in the library. When you test code which calls one of these methods, your test will fail with a message like this: The organization request type 'Microsoft.Crm.Sdk.Messages.NameOfTheUnimplementedRequest' is not yet supported... but we DO love pull requests so please feel free to submit one! :). This functionality is not available yet. Please consider contributing to the following Git project https://github.com/jordimontana82/fake-xrm-easy by cloning the repository and issuing a pull request."
Update 12 October 2021: Microsoft have stated that neither the organisation request described below, nor the publicly documented 'exportpdf' API are intended for public use, and that this public document (docs.microsoft.com/en-us/dynamics365/sales-enterprise/developer/exportpdf-api) is soon to be removed.
In October 2021, customers using the Organisation request from within a Plugin or Workflow started to see this error message:
“The private ExportPdfDocument request cannot be called from this plug-in because it has a different solution publisher."
This change was then reverted by Microsoft the following weekend in order to give customers time to find an alternative solution to this very common requirement.
If you think that |Microsoft should provide a publicly supported way of generating PDF's from Word Templates without having to first create a Word Document and save it in CRM, consider upvoting this idea:
Microsoft Idea · Make 'ExportPdfDocument' organisation request and 'exportPdf ' API action public (dynamics.com)
In this article I will demonstrate how you can use a LINQPad script to very quickly update Dynamics Solution Numbers in a consistent way across all of your solutions.
If you are using EasyRepro to perform automated tests against your Dynamics 365 instance and the account you are using is protected with Multi-Factor Authentication (MFA) you will need to generate an MFA Secret Key in order for your tests to be able to log in.
LINQPad connections to Dynamics 365 online - Part 3 - Using MyExtensions to encapsulate your connection code
In the first part of this multi-part series of articles about creating connections in LINQPad to Dynamics 365 online, I went through the basic steps needed to create an OrganizationService connection in a LINQPad script.
Handling MFA connections to Dynamics 365
In the first part of this multi-part series of articles about creating connections in LINQPad to Dynamics 365 online, I went through the basic steps needed to create an OrganizationService connection in your LINQPad script.
LINQPad is an invaluable tool for .Net developers in general and as a Dynamics developer being able to test and execute code using the Dynamics365 API using LINQPad can be a real timesaver. In this multi-part series of articles, I will show you how to configure LINQPad so that creating connections to Dynamics365 can be done quickly and easily. Using the MyExtensions file, you’ll be able to create a shared method for every member of your team to be able to connect to any of your Dynamics environments by just typing a single line of code.
I was finding it impossible to connect to Dynamics 365 using the Plugin Registration Tool with an account which has Multi-Factor Authentication enabled.
I recently tried to use the sample code in the Dynamics 365 SDK (also available here) to create a connection in code to the Dynamics CRM v9 Organisation service. No matter what I did, I could not get the sample code to work.
If you have used an attribute in a saved view in Dynamics, and the attribute is removed from the entity, you will get the following error when you try and access the view: