вы используете неправильное имя объекта для Visual Studio 2008 и открываете решение под названием MySolution.sln:
require 'win32ole'
objDTE = WIN32OLE.new("VisualStudio.DTE.9.0")
objDTE.MainWindow.Visible = true #make VS window visible
objDTE.UserControl = true; #set to false to cause VS to shut down when the script ends
solution = objDTE.Solution
solution.Open("MySolution.sln");