ILMerge / Dependent Assemblies in Plugin – System.IO.FileNotFoundException: Could not load file or assembly ‘System.Memory.Data’ – Dynamics 365 / Dataverse


Recently in one of our Plugins, which was using Azure.Storage.Blobs and Azure.Storage.Common libraries to move attachments from notes to Azure Blob Storage suddenly started throwing the below exception. The Plugin had been working fine and had been deployed long back to the production environment.

System.TypeInitializationException: The type initializer for ‘Azure.Response’ threw an exception. —> System.IO.FileNotFoundException: Could not load file or assembly ‘System.Memory.Data, Version=1.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51’ or one of its dependencies. The system cannot find the file specified.

We raised the Microsoft Support for it and were informed that the reason for this was there was a platform update over that particular weekend to stop loading the “System.Memory.Data” assembly on the plugin server. And as we hadn’t included that assembly in our package (ILMerge), we started getting the exception.

Also as per Microsoft Docs


So the quick fix at that time was to include (set Copy Local as True) for that System.Memory.Data along with Azure assemblies.

Also now we can look into using Plugin Package to package the dependent assemblies.

Hope it helps..

Advertisements

The plug-in execution failed because the Sandbox Worker process crashed. This is typically due to an error in the plug-in code – Dataverse / Dynamics 365


Recently we got the below exception for one of our plugins.

Message: The plug-in execution failed because the Sandbox Worker process crashed. This is typically due to an error in the plug-in code. Please refer to this document: https://go.microsoft.com/fwlink/?linkid=2189390
Microsoft.Xrm.RemotePlugin.Grpc.ExceptionHandlers.SandboxFabricWorkerCommunicationException: Error communicating with SandboxFabric Worker —> Grpc.Core.RpcException: Status(StatusCode=”DeadlineExceeded”, Detail=”Deadline Exceeded”

If we refer to Microsoft Documentation below seems to be the cause of the issue in our case.

In our scenario, we had a Plugin that was Asynchronous and it was triggered on the Post Update of Work Order Service task. The plugin will fetch all the attachments (to notes associated with inspection attachments > inspection response > work order service task). There were many Service Tasks having more than 20 attachments exceeding 100 mb size total.

We were doing bulk updates which triggered the plugin creating too many requests eventually leading to that error.

Get more details – Error “Sandbox Worker Process Crashed”

Also, check – https://cloudblogs.microsoft.com/dynamics365/it/2017/02/20/microsoft-dynamics-365-online-asynchronous-service-quotas/

Hope it helps..

Advertisements

Fixed – Duplicate records in Azure Synapse Link (Dataverse)


Recently for some of our Dataverse environments, we found duplicate records getting created (same GUID) for Notes and Work Order Incident tables in the corresponding CSV files.

Here we were using In place updateIn-place updates vs. append-only writes

This was causing the Power BI reports built on top of it to fail.

On raising the ticket, the Microsoft Support team mentioned that this is a known bug for certain regions, and they immediately ran the de-duplication scripts in the background which quickly fixed the issue for us. Also, they specified they will be deploying the fix for the issue in the coming days.

Hope it helps..

Advertisements

Exploring Pascalcase Data Mask App for masking data for Dynamics 365 and Power Platform Environments


You have probably used the copy environment feature in the Microsoft Power Platform admin centre to copy data and customizations between environments.


However, there is a crucial aspect to consider data privacy and security. When transferring data, especially to sandbox environments which typically have less stringent access controls, there is an inherent risk of sensitive information becoming exposed to unauthorized personnel. Such scenarios pose a threat to compliance with stringent data privacy regulations, including GDPR, HIPAA, and CCPA.

However, there is no out-of-box to mask data. Here comes Datamask App which helps with data protection by replacing sensitive information with dummy data.

Diving into the Strength of Data Masking

In the Power Platform sandbox environments, developers, and testers often grapple with the challenge of handling real data without compromising privacy and security. The Data Mask App steps in as a powerful solution to this dilemma. Its primary mission? To mask, anonymize, and obfuscate Dataverse data, offering a shield against potential data breaches.

How does Data Mask app work?


  • You can download the app from Microsoft AppSource, Download Data Mask app, and the app is available as managed solution.
  • Upon importing the solution, you need to configure the data mask app.
  • With configuration, users can selectively mask specific fields, choosing from options, such as replacing with dummy names, generating random strings, or employing asterisks for a discreet approach.


    Configuration settings for masking Account number field in Account table.

  • Various configuration options for table records provide versatile ways to protect sensitive data configurations, it collectively empowers users to customize data protection strategies based on specific needs and compliance requirements.
  • This dynamic approach ensures that sensitive information, like full names and contact details, is transformed into a secure and privacy-preserving version while retaining its integrity.
  • When a data mask run is created the masking process starts and we can track the masking of records in the logs section.


Free plan and paid plan

If you would like to test, there is a ‘Test Drive’ option. Otherwise, you can install the app in your environment, but there is a 1000-record limit. If you would like to buy the tool, you can contact https://pascalcase.com for a license.

Advertisements

Fix – This portal has multiple website bindings, which will cause issues with the portal (Power Pages)


Recently we updated the Site Details like the Site Name and Site URL of a particular Website (Power Platform Admin Center >> Resources >> Dynamics
365
apps, Select the Website and choose Manage)

After which we started getting the below error message –

“Error: This portal has multiple website bindings. which will cause issues with the portal. Delete extra website binding records for this portal in the attached Dynamics 365 Organization.”

This was caused because of multiple active website binding records.

To fix it, open the corresponding Portal Management
app of the corresponding Dataverse / CRM environment.

Navigate to Website >> Website Bindings

Delete or deactivate the extra binding records leaving just one Active record to fix this issue.

Hope this helps..

Advertisements

How to – Change the base URL of a website (Power Pages)


To change the base URL of a website, navigate to Power Platform Admin Center >> Resources >> Power Pages sites, select the site, and click on Manage.

https://admin.powerplatform.microsoft.com/resources/portals

Select the Edit icon

If the user has only the system administrator role in the corresponding Dataverse environment, we will get the below error.

You must be a Global Administrator or an owner of the Microsoft Entra ID application linked to this website to perform this action

Check the Required role and permissions

Then we tried with the global admin user having all the appropriate roles and permissions and were still getting the below error.

You need to have access mode as read-write and be an owner of the application linked to the portal to perform this action.


The global admin user was the owner of the corresponding application registered for the portal.

To fix it we refreshed the user’s account (we had PIM enabled for the Global Admin role), so maybe refreshing the user or giving it a try after some time helped in resolving the error.

https://nishantrana.me/2022/04/25/how-to-use-refresh-option-to-force-user-state-synchronization-in-power-platform-admin-center-dynamics-365-crm/

Hope it helps..

Advertisements