Wednesday, December 19, 2012

People Picker to add users to SharePoint 2010 group - Namespace prefix 'xsd' is not defined

Hi All,

We have recently migrated from SharePoint 2007 to SharePoint 2010. Upon trying to add users to SharePoint group, we got the below error:

System.InvalidOperationException: Namespace prefix 'xsd' is not defined.    at System.Xml.Serialization.XmlSerializationReader.ToXmlQualifiedName(String value, Boolean decodeName)     at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDictionaryEntryArray.Read1_Object(Boolean isNullable, Boolean checkType)     at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDictionaryEntryArray.Read2_DictionaryEntry(Boolean checkType)     at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDictionaryEntryArray.Read3_ArrayOfDictionaryEntry()

The problem here is we have a known issue with people picker not working properly in IE9..

Possible Resolutions:

Solution 1 (Temporary Solution)

Change the Document Mode to IE-8 using IE - developer toolbar as shown below








Solution 2 (Permanent Solution)

In System master page, change the content attribute in meta tag from IE-9 to IE-8 as shown below.

<meta http-equiv="X-UA-Compatible" content="IE=8"/>

Hope this helps some one. Thanks !!!

17 comments:

  1. Hey!

    You've got the solution right, but the location wrong. As the People Picker is using the pickerdialog.master file, you need to add the following line in the head element.

    meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"

    Find the pickerdialog.master file in C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS and make a backup.

    Now open it and insert the line at the start of the head element.

    <meta name="GENERATOR" content="Microsoft SharePoint" />
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
    ....
    </head>

    This should solve the problem in People Picker.

    Cheers

    ReplyDelete
    Replies
    1. I doubt a lot about this solution but YES! It worked for me!! Thanks a lot!

      Delete
    2. Thanks for making it clear with a little detail.

      Delete
  2. The "meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"
    worked for me!!! THANKS!

    ReplyDelete
  3. Another "thanks" from me...it's the same problem now with IE10 altough IE9 now works...

    Anyway, thank you!

    ReplyDelete
  4. Thanks ME - like in Morten Engvoldsen. great hint. solve my problem.

    ReplyDelete
  5. Thanks a lot ME !!
    The change with:
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
    did it for me.

    ReplyDelete
  6. Thanks for the information. We have a migrated from SharePoint 2007 to SharePoint 2010, keeping the old UI. To make thinks work properly in IE 10 both the default.master AND the peopledialog.master have to be modified, and with IE=5 as parameters.
    meta http-equiv="X-UA-Compatible" content="IE=5"

    See also this post http://blogs.msdn.com/b/ie/archive/2011/12/14/interoperable-html5-quirks-mode-in-ie10.aspx

    ReplyDelete
    Replies
    1. Legend! We are running SharePoint 2013 in IE10 and modifying pickerdialog.master and default.master with your solution worked a treat! People Picker address book now displays perfectly. Thank you :)

      Delete
  7. Good fix! Maybe Microsoft should update their copy with this fix so we don't have to.

    ReplyDelete
  8. Hi,

    i am not able resolve this issue.issue is still existing after adding the meta tag in pickerdialog.master.i am using v4.master as default masterpage,by default it is pointing to IE8 only.
    Any help on this.

    ReplyDelete
  9. This doesnt work with IE 11 ---- :(

    ReplyDelete
  10. It doesn't work in IE 11 enterprise mode!

    ReplyDelete