Ribbon workbench publishing issue: No SOAP Envelope in response

Recently, while working on a government project (MSD 365-V8 On Premice environment), I faced this weird issue that my ribbon workbench was not publishing anything, not even the single entity without any change. whenever I try to publish the entity, he was throwing below exception…

‘No SOAP Envelope in response’ Continue reading “Ribbon workbench publishing issue: No SOAP Envelope in response”

DLL merge and MSD CRM/365 (on-prem/On-Line)

Tips & Trics

While working as a developer, many times we will have some readymade tools or class libraries / DLLs, which were developed by some other developers and they publish for developer kind. Salute to their generosity.

We use those libraries in our development and our life becomes little easier. But while deploying it on other environments we have to install those things and or keep those DLLs on another environment, if we miss it then because of those open libraries, development breaks.


So in such conditions, we can merge multiple DLLs in one to make our life bit easier.

If it’s exe, user following function to make one DDL.

Advantage: it will keep the original identity of the DDL.

Disadvantage: it won’t work for the library building. For e.g. CRM plugins

Here is that great function …

private static void AsseblyResolveEvent()
 AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
 String resourceName = "AssemblyLoadingAndReflection." +
 new AssemblyName(args.Name).Name + ".dll";
 using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
 Byte[] assemblyData = new Byte[stream.Length];
 stream.Read(assemblyData, 0, assemblyData.Length);
 return Assembly.Load(assemblyData);

Curtsy: This function has written by Jeffrey Richter, here is his article for it.

If it’s DDL and or class libraries, ILMerge will useful.

Advantages: it’s free and lite installation. Easy to use.

Disadvantage: After merging DDLs with ILMerge, DDL will lose its identity, that’s why we can not use for CRM plugin libraries. While writing commands we need to bit careful else spelling mistake might frustrate you. 😉

You need to install it after download from here. Then by following commands, you can merge multiple DDLs together.

Steps: Once its installed, open command window with admin rights and execute it, follow the commands

Step 1: Download ILMerge utility and install it in your machine

Step 2: Compile and Publish your Project to a folder (eg: C:\Publish\)

Step 3: Use the ilmerge command to merge the exe and dll files and output single exe file

ILMerge Command

Syntax (Simple*): ilmerge <input assembly 1> <input assembly 2> /out:<output file> /target:<dll|exe|winexe>

*For the complete set of options and syntax refer ILMerge Documentation


C:\Program Files\Microsoft\ILMerge>ilmerge C:\Publish\MyProgram.exe C:\Publish\MyLibrary.dll /out:C:\Publish\MyWinApp.exe /target:winexe /ndebug

ilmerge – Command

MyProgram.exe – Output from the published folder

MyLibrary.dll – Any library used in the program

/target:winexe – We need to output a single exe file for Windows Platform

/output – Output folder and filename

/ndebug – To disable debug (.pdb file)

Curtsy: Arun Ramchandran’s blog , for more info, explore this link and this link.

Above both options won’t be useful for MSD CRM or MSD 365. 😔

So, to make those libraries useful for these environments we have to create a folder in your plugin project so it will be part of plugin project. And we don’t need to merge it anymore. 😉

Thus, we have two options available for it,

If those libraries are open source then we will get everything available online(thanks to generous great developers), just get only those classes which useful for you and ignore the rest of classes from that DDL.

But if it’s not open source then we need bit more efforts. As we need to use ILSpy or some similar add-on to decompile that code and then use in our plugin or workflow library.

There is another way for same is merging these files together along with its signature. Here are the details for it. (Courtesy: github )

Use Nuget to add ILMerge.MSBuild.Task to your Visual Studio project:

Install-Package ILMerge.MSBuild.Task

Also, install the ILMerge Package:

Install-Package ilmerge

Build your project. The merged assembly will be stored in an ILMerge folder under the project output.

Merge Assemblies With Copy Local = True

By default, all references with Copy Local equals true are merged with your project output.

Creating a Static List of Assemblies to Merge

It is also possible to use a static list of assemblies instead of inspecting the Copy Local property. This can be done through a configuration file added to the root of your project. Create a JSON file and name it as follows:


The following snippet uses the InputAssemblies property to specify the files to be merged into the project output.

	"General": {
		"InputAssemblies": [

You don’t have to specify a path if assemblies are expected to be in the target directory:

	"General": {
		"InputAssemblies": [

See Configuration File complete reference.

That’s it for now.


Few more ref

  1. http://develop1.net/public/post/2018/10/21/ILMergeNotSupported
  2. https://medium.com/capgemini-dynamics-365-team/using-gov-uk-notify-in-a-dynamics-crm-plugin-without-ilmerge-cf89f372cd5d 

Continue reading “DLL merge and MSD CRM/365 (on-prem/On-Line)”

Exception: “There is no active transaction. This error is usually caused by custom plug-ins that ignore errors from service calls and continue processing”



“There is no active transaction. This error is usually caused by custom plug-ins that ignore from service calles and continue processing”


Continue reading “Exception: “There is no active transaction. This error is usually caused by custom plug-ins that ignore errors from service calls and continue processing””

LinkEntity issue with ‘Partyid’

Today, I was working with LinkEntity for ‘PartyId’, So I want all appointment where specific account or contact is in the required field and is connected to a specific entity.

Thus, I created 3 appointments on the entity and wrote following query… Continue reading “LinkEntity issue with ‘Partyid’”

Error: AliasedValue – Key not found

Key not Found

Error: Key not found in Link Entity QueryExpression (Ref above image). Continue reading “Error: AliasedValue – Key not found”

Error: An error has occurred. Please return to the home page and try again

In MS CRM 2013 – on premise,

When I try to create a new Email activity in the opportunity page and insert one of the existing templates, I get the below error message

“An error has occurred. Please return to the home page and try again.” Continue reading “Error: An error has occurred. Please return to the home page and try again”