I have a package which deploys a custom people picker dll. It also should add the safe control entry to the web.config but its not doing it.
<Assemblies> <Assembly Location="AA.PeopleEditorAD.dll" DeploymentTarget="GlobalAssemblyCache"> <SafeControls> <SafeControl Namespace="AA.PeopleEditorAD.Controls" TypeName="*" /> </SafeControls> </Assembly> <Assembly Location="MyCompany.HomeWebTemplate.dll" DeploymentTarget="GlobalAssemblyCache" /> </Assemblies>
I cleaned, rebuild, repackage, and then update the solution but it didnt update the web.config.
So I went ahead and I did it manually.
<SafeControl Assembly="AA.PeopleEditorAD, Version=18.104.22.168, Culture=neutral, PublicKeyToken=77c336623989b56c" Namespace="AA.PeopleEditorAD" TypeName="*" Safe="True" SafeAgainstScript="False" />
well, this didnt work either, everytime I try to use the custom people picker I got the error: Only people picker dialogs types can be used with dialog. The type should be configured as safecontrol in this site.
I also tried removing the safecontrol and adding it back.
Update 1: Full exception in the log
Microsoft.SharePoint.SPInvalidPropertyException: Only PickerDialog types can be used with the dialog. The type should be configured as a safecontrol in this site. at Microsoft.SharePoint.ApplicationPages.Picker.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)