When you add a web part, if you get an error saying "The type is not registered as safe," even though you do have a valid SafeControl entry for your web parts, then try adding the assembly's strong name to each .webpart file.
Here's an example. The assembly is ArrowWebParts.dll. It's strong name is "ArrowWebParts, Version=3.0.0.1, Culture=neutral, PublicKeyToken=bface3e8a4e95820". Originally, in the type element, I just had "ArrowWebParts.DataDefinitionWebPart", and I was getting the error. After adding the strong name, the error goes away!
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="ArrowWebParts.DataDefinitionWebPart, ArrowWebParts, Version=3.0.0.1, Culture=neutral, PublicKeyToken=bface3e8a4e95820" />
<importErrorMessage>Cannot import ArrowWebParts.DataDefinitionWebPart.</importErrorMessage>
</metaData>
<data>
<properties>
<property name="AllowZoneChange" type="bool">True</property>
<property name="ExportMode" type="exportmode">All</property>
<property name="HelpUrl" type="string" />
<property name="Hidden" type="bool">False</property>
<property name="TitleUrl" type="string" />
<property name="Description" type="string">Wizard for creating a Windward data profile.</property>
<property name="AllowHide" type="bool">True</property>
<property name="AllowMinimize" type="bool">True</property>
<property name="Title" type="string">Create Windward Data Profile</property>
<property name="ChromeType" type="chrometype">Default</property>
<property name="AllowConnect" type="bool">True</property>
<property name="Width" type="unit" />
<property name="Height" type="unit" />
<property name="HelpMode" type="helpmode">Navigate</property>
<property name="CatalogIconImageUrl" type="string" />
<property name="AllowEdit" type="bool">True</property>
<property name="TitleIconImageUrl" type="string" />
<property name="Direction" type="direction">NotSet</property>
<property name="AllowClose" type="bool">True</property>
<property name="ChromeState" type="chromestate">Normal</property>
</properties>
</data>
</webPart>
</webParts>


Thank you! Thank you! Thank you! I was pulling my hair trying to figure out why I kept getting this error, even though it appeared that everything was configured properly. As soon as I tried your solution, the problem went away. Thank you so much!
Posted by: Jennifer | 06/21/2010 at 02:22 PM
glad I could help :)
Posted by: meowkins | 06/21/2010 at 04:04 PM
Thank you Man. It's help me too !!!
But I don't understand one thing.
Why these strong names not added by Sharepoint by default
Posted by: Lev | 03/16/2011 at 03:08 AM
Thank you, I've been struggling with the same issue as well. Usually, the safe control entry works well.
My hypothesis, in my case, is that I don't use the default Namespace given by SharePoint, but I used a custom one, that's why I think the safe control entry didn't work.
Posted by: JocelynHotte | 12/20/2011 at 08:41 AM