I have a Live SP farm with a single site running fine, and a dev environment which is a clone of live. Dev has been built retrospectively, and therefore we've done a Restore-SPSite to restore the live site onto our dev system. The site that we restored is an export from 8 months ago. At this point everything runs smoothly.
The problem I'm having is that I'm now at the stage where I need to do another copy of the site sitting on the live server. So I once again do a Backup-SPSite, which generates the bak file, and then on the dev server do a Restore-SPSite. At this point, there is one page within our site which contains a custom built web-part. Now instead of the web part displaying when a user visits the site, the message "Object reference not set to an instance of an object" is shown in place of the web part. All other web parts on the site appear to be operating correctly.
I am a .Net developer so am used to seeing this error regularly! I did not create the web part (it was created for us by an external company). I am guessing that the error message is being thrown by the app code itself? I hasten't to guess what the error could be.
So I have checked the web.config of the site to check that the web part is listed as a safe control. I have tried exporting the web part as a .wdp file from the live server, and uploading the web part via the SharePoint web interface and adding it to a web part zone (the same error message is showing in this case too).
I'm aware that the error message doesn't really give a clue as to the underlying problem, but are there any suggested checks that I should run as a starting point? I'm thinking perhaps the web part code is missing a dll or something.