I was importing a simple solution with a few plugins into my Test environment and got this error message:
Plug-in assembly does not contain the required types or assembly content cannot be updated.
Apparently this can occur for a number of reasons, and is a common issue for people. These links describe some of the common causes:
In my case it was because the plugin DLL was set to deploy using Disk mode. Because it was deployed using Disk mode, the DLL does not exist in the CRM DB in my Dev environment. Therefore, when I exported the solution from Dev, the DLL is actually not added to the solution. If you look inside the solution ZIP file, you will see that the DLL file is actually 0KB in size. This is why when CRM attempts to import this solution to a new instance, it cannot read the DLL and therefore complains.
To fix this I copied the plugin DLL from Dev in the C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly folder to the same location in Test.
It is also interesting to note that CRM also looks for the plugin DLL when you attempt to delete the registered steps, and will give a similar error message if the DLL cannot be found.