A small blog post for anyone who stumbles across this issue (and for my future self, should I forget the solution).
I was working on some tables in SSDT and I tried to publish changes to the database on my local machine. I got a build error because I created a clustered index on the wrong table (which resulted in two clustered indexes on said table). So I fixed the bug and tried to publish. However, even though the build succeeded, I got the following error message:
The script file could not be found.
Well, that’s a first. Rebuilding didn’t work. Re-publishing neither. Eventually, I unloaded the project and removed the .dbmdl file (which seems to be a serialized file of the database model for optimizing deployment performance, as hinted here on Stack Overflow).
Reloading the project into the solution without this file present apparently forces a re-analysis of the project (there used to be a button to reanalyze in previous versions, but I couldn’t find it). Now I could publish the project again.
UPDATE: this might also help if you get the dreaded “null reference not set to an instance of an object” error
------------------------------------------------
Do you like this blog post? You can thank me by buying me a beer 🙂
You just saved clueless me from total embarrassment