On registering a plugin using plugin registration tool or with a solution import, sometimes we might get the error “Plug-in assembly does not contain the required types or assembly content cannot be updated.”
There could be many reasons for this error message. The scenario I faced was that the Plugin which has been registered previously had a step which has been removed! Suppose you have register the plugin assembly with three steps A, B and C. You have then forgot to remove Step B from CRM but you have deleted the corresponding plugin class. Hence you compiled new plugin would not expect to get Step B during plugin update!
If you receive similar error in future, first try to compare the Plug-in steps in Plugin registration tool with the classes in assembly you are trying to register. You need to find out which step needs to be unregistered before you can update the plugin assembly.