Visual Studio 2010 Solution Won’t Open From Explorer

This one has caused me some problems recently.  I have a Visual Studio solution I downloaded, yet double clicking on the solution file in Windows Explorer does not open the solution.

I know it’s a Visual Studio 2010 solution, because the file starts with:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010

If I open Visual Studio 2010 and open the solution from within the editor, it works fine.  This seemed to indicate that it was the way in which the Microsoft Visual Studio Version Selector was messed up somehow.

I did some research online (I can’t claim any independent breakthrough here myself) and thought I would collate the various reasons I found why the version selector might not be able to open a solution.

Visual Studio Runs as Administrator

If Visual Studio 2010 is set to run as administrator, and Visual Studio Version Selector is not, then the version selector does not have the necessary privileges to launch Visual Studio, and it silently fails. Thanks to Jonas Stawski for this one.

Solution File was created in Visual Studio 2010 Beta 1

In Beta 1, the preamble to the solution file was as follows:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 10

Just change the 10 for 2010 on line 2, and away you go. Thanks to Jon Skeet for this tip.

Solution File has Unix Line Endings

Some Source Control providers can automatically change line endings.  If the line endings are set to Unix (LF) instead of Windows (CRLF), then the Version Selector gets confused and can’t determine which version of Visual Studio to launch, and instead silently fails. Thanks to Oliver Mellet for this.

Solution File is not UTF-8 Encoded

Solution Files must be encoded using UTF-8 and include the BOM at the start (which is EF BB BF).  If these criteria aren’t met, then the Version Selector can’t determine which version of Visual Studio to launch.  Notepad++ can fix this up (Encoding –> Convert to UTF-8).  Thanks to anoftc for this tip.

Summary

It seems that the Visual Studio Version Selector is very naive when trying to read solution files.  I couldn’t quite believe that the line endings would matter, or the encoding, so I had a play around in Notepad++ to verify the above.

Microsoft recommends that solution files shouldn’t be modified by hand, but I’ve had to do this on a number of occasions, particularly when trying to mess with source control bindings.  Also, source control providers can make changes to files as they’re checked in, so it seems unrealistic to me to have the limitation that solution files shouldn’t be modified except by Visual Studio itself.

I hope the above reasons help someone out.

Recent Related Posts

3 thoughts on “Visual Studio 2010 Solution Won’t Open From Explorer

  1. Prepending the BOM (Byte Order Mark) to the solution file worked for me. As it turns out, someone had hand-edited the solution file a few days earlier with an editor that apparently didn’t preserve the BOM.

    So after reading this post (thank you for posting it — it was a big help), I opened the solution file with a hex editor, inserted EF BB BF at the beginning of the file, and saved the file. After that, the solution file opened just fine by double-clicking on it.

    • Glad it helped. I prefer using Notepad++ to add the BOM, but I appreciate the “rawness” of using a hex editor to do this – nice job!

Leave a Reply to Isxek Cancel reply

Your email address will not be published. Required fields are marked *