09 November 2009

Fehler: Invalid look-up value

Folgender Fehler trat gestern beim hinzufügen einer Datei in eine SharePoint Dokumentenbibliothek auf:

Invalid look-up value
A look-up field contains invalid data. Please check the value and try again.

at Microsoft.SharePoint.Library.SPRequestInternalClass.PutFile(String bstrUrl, String bstrWebRelativeUrl, Object varFile, PutFileOpt PutFileOpt, String bstrCreatedBy, String bstrModifiedBy, Int32 iCreatedByID, Int32 iModifiedByID, Object varTimeCreated, Object varTimeLastModified, Object varProperties, String bstrCheckinComment, UInt32& pdwVirusCheckStatus, String& pVirusCheckMessage)
at Microsoft.SharePoint.Library.SPRequest.PutFile(String bstrUrl, String bstrWebRelativeUrl, Object varFile, PutFileOpt PutFileOpt, String bstrCreatedBy, String bstrModifiedBy, Int32 iCreatedByID, Int32 iModifiedByID, Object varTimeCreated, Object varTimeLastModified, Object varProperties, String bstrCheckinComment, UInt32& pdwVirusCheckStatus, String& pVirusCheckMessage)

Die Datei wurde von einem Template, welches mit dem passenden ContentType verknüpft ist, kopiert:

SPFile template = Site.RootWeb.GetFile(documentTemplateUrl);SPFile file = List.RootFolder.Files.Add(leafName, template.OpenBinary(), false);

Nach und nach stellte sich die Ursache des Problems heraus: die Vorlage, welche mit dem Content Type verknüpft war, beinhaltete noch (unsichtbare) Referenzen auf Felder einer früheren Version dieses Content Types.


image

Mit Prepare-> Inspect Document konnten diese einfach gefunden und entfernt werden. Et voila: das Kopieren klappte ohne Probleme…

image image

Der Fehler ist auch reproduzierbar beim Hochladen eines so präparierten Dokumentes in eine SharePoint Dokumnetenbibliothek, welche mit dem entsprechenden Content Type verknüpft ist.