I had an unusual problem today, I say unusual I mean irritating.
I had a solution which was unmanaged and I had imported it to an organisation.
I then worked on my solution further and at some point I decided some of the Option Sets should change from entity level to global option sets.
When I then exported my solution and tried to import it into the organisation which had an early version.
It failed, it gave the error
OptionSetId cannot be changed when importing
The only useful part of the error message was it told me it was an option set, it didn’t tell me which one.
It took me a while to work out which option set was causing me problems but in the end I removed and deleted most of them until I got the right one.
This forum post was quite useful for pointing me in the right direction.
It certainly is a good argument to use managed solutions rather than unmanaged, the ability to remove the solution before importing sounds very useful (not to mention the customer not being able to change anything).
I thought I would write a blog post about this because when I googled the problem, hardly anything came up.