If we make use of external assembly in our Plugin (sandboxed) we will get the exception of FileNotFound.
So here we can make use of ILMerge which basically merges the assembly referenced and the plugin into a single assembly.
Install the following NuGet Package.
This adds the following files in our Plugin project.
We need to set Copy Local as true for all our referenced assembly that we want to merge with our plugin.
We need to set Copy Local as false for all other assemblies that we do not want to be merged with plugin.
Just build the project and we are done.
The assembly inside Reflector: –
Hope it helps.
Nice Article. Just curious to know, what if we set copy local as true for ‘Microsoft.Xrm.sdk’ dll as well against whats mentioned above. Does it affect my plugin execution in anyway?
LikeLike
Hi Vivek, thanks for you comment. No it shoudn’t matter.
LikeLike
Hi, Nishant,
I was using MSBuild.ILMerge.Task into our plugin projects, When i build the project i got the following error like
Severity Code Description Project File Line Suppression State
Error The command “mkdir “D:\HSINGH\TFS\CRM\DevUpgrade2015\Source\CCAS.CRM\CCAS.CRM.Plugins\bin\Debug\Merged” “D:\HSINGH\TFS\CRM\DevUpgrade2015\Source\CCAS.CRM\3rdPartyDLLs\ILMerge\ILMerge.exe” /log /lib=”D:\HSINGH\TFS\CRM\DevUpgrade2015\Source\CCAS.CRM\3rdPartyDLLs” /target=library /targetplatform=v4,”C:\Windows\Microsoft.NET\Framework64\v4.0.30319″ /keyfile=”D:\HSINGH\TFS\CRM\DevUpgrade2015\Source\CCAS.CRM\CCAS.CRM.Plugins\CCAS.CRM.Plugins.snk” /out=”D:\HSINGH\TFS\CRM\DevUpgrade2015\Source\CCAS.CRM\CCAS.CRM.Plugins\bin\Debug\Merged\CCAS.CRM.BDO.dll” “D:\HSINGH\TFS\CRM\DevUpgrade2015\Source\CCAS.CRM\CCAS.CRM.Plugins\bin\Debug\CCAS.CRM.BDO.dll” “D:\HSINGH\TFS\CRM\DevUpgrade2015\Source\CCAS.CRM\CCAS.CRM.Plugins\bin\Debug\CCAS.CRM.Plugins.dll” “D:\HSINGH\TFS\CRM\DevUpgrade2015\Source\CCAS.CRM\CCAS.CRM.Plugins\bin\Debug\CCAS.CRM.Logging.dll” “D:\HSINGH\TFS\CRM\DevUpgrade2015\Source\CCAS.CRM\CCAS.CRM.Plugins\bin\Debug\CCAS.CRM.WCF.BusinessLayer.dll” “D:\HSINGH\TFS\CRM\DevUpgrade2015\Source\CCAS.CRM\CCAS.CRM.Plugins\bin\Debug\CCAS.CRM.WCF.Common.dll” “D:\HSINGH\TFS\CRM\DevUpgrade2015\Source\CCAS.CRM\CCAS.CRM.Plugins\bin\Debug\CCAS.CRM.WCF.ServiceAgents.dll” “D:\HSINGH\TFS\CRM\DevUpgrade2015\Source\CCAS.CRM\CCAS.CRM.Plugins\bin\Debug\CCAS.CRM.WCF.ServiceContracts.dll” “D:\HSINGH\TFS\CRM\DevUpgrade2015\Source\CCAS.CRM\CCAS.CRM.Plugins\bin\Debug\CCAS.Security.dll”
” exited with code 1. CCAS.CRM.Plugins C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets 5165
What could be solution for this type of error?
LikeLike