I have been through this issue several times since I have been using Construct 3.
I often work on two different computers: my PC tower and a macOS laptop.
The issue happens sometimes when I work on a machine, save my changes, wait for these to sync via Dropbox and then open the project file (using Dropbox again) on the other machine.
I found out that this issue happens when I use different versions of Construct from one computer to another. I would expect Construct to put that warn message about this, but sometimes a file got corrupted and so this error "failed to open project. check if it is a valid Construct 3 single-file" appears.
I could solve this issue by switching the Construct 3 version of one computer to the same as in the other one (stable to beta or vice-versa) and could finally open the project back.
I think mostly it is an issue with the Construct 3 version your file has been saved to, and for some reasons your file got corrupted while not saving it properly the last time you worked on it.
If you don't remember the C3 version you used to save your project to, you can still rename the .c3p file to .zip and unzip it. Then you should be able to check the saved version used in the config file of your project. You can even change it here, and open the file in the same Construct 3 version. That's how I also could fix this.