Friday, October 28, 2011

The located assembly's manifest definition does not match the assembly reference

I installed some WSPs and came across these errors when trying to add some web parts:
The located assembly's manifest definition does not match the assembly reference


Error replacing my site web parts. You may need to perform this task manually. Microsoft.SharePoint.ApplicationRuntime.SafeControls+UnsafeControlException: A Web Part or Web Form Control on this Page cannot be displayed or imported. The type is not registered as safe


There are many references to this everywhere. Typically this refers to a mismatch of a SafeControls directive in web.config and the actual DLLs loaded into the GAC, but in this case, they all match.

It turns out that my WSPs came from a ZIP file that was downloaded from the internet. As such, they were marked as unsafe. This caused DLLs to be marked as unsafe and were probably not loaded into the GAC properly. To work around this, unblock the zip file (or run streams to remove the blocks), uninstall the WSPs and then reinstall.

No comments:

Post a Comment