I am still working on my SharePoint project and now I create my custom list definition. Some fields must be lookup fields to other custom list. I spent a lot of hours to read about it on MSDN, blogs, etc., to make it running. The main issue was error message when I try to add new item to my list. I get stupid error “GUID must contain 32 chars and 4 dashes”. Yes, but each time I deploy the list it gets different GUID…

At MSDN I found detailed description and a few conditions. If we want to use list name instead of GUID source list must be part of the feature. Also there’re some limitations of source field data type: Counter, DateTime, Number, and Text. I have something like this:

<Field Name=”Manager” DisplayName=”Manager” ID=”{DABDFA9A-FECD-4880-8767-257409FABA70}” Type =”Lookup” List =”Lists/Managers” ShowField =”ManagerName”   ></Field>

And it works with one list. But when I make the something with another list I get again this crazy error. I try a lot of different solution without any result. I gave up and reboot my virtual machine, deploy the list to make modification manually but suddenly It works???

Really I don’t understand what’s happen. It seems that far many people different approaches work, but I thing that there’s must be some kind of deadlock witch block some references between fields and make this error.