I would like to open into memory an existing .sln file.
Example of a non-working method:
private Solution2 OpenSolution(string filePath)
{
Soluti
Solution2 is an interface, not a class. You cannot directly make an object of type Solution2, only reference objects as a Solution2 that contain the Solution2 interface.
As far as I'm aware, classes that implement the Solution2 interface are only available as part of the interface collection in the Visual Studio integration, so you will have to do something similar to what RichieHindle mentions, and create a new hidden Visual Studio instance to load the solution.
If you are just wanting to grab a couple settings out of the sln file, I'd potentially recommend parsing it yourself, the file format is pretty simple. If you are trying to pull a setting out, chances are the odd edge case where parsing the sln yourself wouldn't work also wouldn't work with what you are trying to do if Visual Studio parsed the sln for you.