Skip to main content

Dynamics365 PluginRegistration tool throws Error - Assembly must be fully signed (not delay signed) though you are uploading signed dll.



You might be here because you are getting this misleading error "Assembly must be fully signed (not delay signed)" although you have successfully generated signed dll either locally or from VSO server. I am documenting this specific error scenario here as I couldn't find anything available over the internet. 
  
I had generated fully signed dll using our VSO build definition. When I am uploading this dll to PluginRegistration tool using the assembly “Update” option, it kept throwing the below exception:
Unhandled Exception: System.ServiceModel.FaultException`1[[<>]]: Action failed for assembly << TRIMMED >>: Assembly must be fully signed (not delay signed).
Detail:

Earlier we were able to update the build generated assembly right from this tool.
We are using the task "ESRP CodeSigning" for code signing process. When I checked the history of this definition someone had modified it’s configuration. 

So during update process it’s failing to match with existing assembly key. Hence, it fails out with this misleading error message during update process.










Don’t worry solution is pretty simple 
as mentioned in below steps:
  1. Remove the existing assembly by using unregister command.
  2. Select “Register New assembly”
  3. Choose the dll you need to register >> Select the plugin and workflow activities
  4. Hit “Register Selected Plugins”







That’s it. It should be good now.


















Have a great time!


Popular posts from this blog

Remote debugging Windows azure cloud service - Worker Role

Remote debugging Windows azure cloud service - Worker Role Very recently I was working on design and development of a worker role component of cloud service. Locally debugging worker role is pretty easy. You just need to know that you need to set Cloud project as a start-up project and ready to go. Problem is when you deploy worker role to azure and trying to troubleshoot an unknown issue.  Thankfully we have remote debugging enable for cloud services – both web and worker roles. This is really handy tool to remotely debug without having to putting a lot of tracing and digging into it. However, remote debugging in worker role/web role requires few steps to be followed: Make sure you are debugging from same machine where you published Make sure to turn on Remote debugger on while you publish (This should be turned off for Production publish profiles) Make sure to Select Debug mode With all the above settings after you publish, you should be able to Atta...

Debugging code running on Remote machine

Before performing below steps, you need to make sure you have pdb files matching dll version on the remote machine.  Open below folder in your remote machine C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Remote Debugger\x64  Open that folder and launch as admin  msvsmon.exe  Select all options to allow firewall From Tools > Options  - Keep the settings to default (as shown below) and click ok.  At this point your remote debugger is all set. You need to connect from Visual Studio by entering Machine IP: Port (4022) 

Differences between Object Serialization and Deserialization?

Serialization = putting the relevant state of the object into a streamable representation. That can mean converting it to a byte stream. This does not necessarily include copying every member variable into the stream. Deserialization = restoring an object from a serial representation and ensuring the invariants of the object. Deserialization can be thought of a separate constructor for the object.