Как открыть решение с пользовательской стартовой страницы VS2010

Я пишу пользовательскую стартовую страницу WPF для VS2010. У меня есть отображение общих решений, используемых мной в представлении.

Теперь я хочу открыть Решение в VS при выборе.

Есть идеи? Я смотрю на вещи DTE, но у меня очень мало успеха. Прежде чем копать слишком глубоко, DTE - верный путь вперед или есть другой путь?

2 ответа

Решение

Я нашел решение.

В классе Utilities, созданном шаблоном Visual Studio, есть следующий статический метод:

public static DTE2 GetDTE(object dataContext)
{
    ICustomTypeDescriptor typeDescriptor = dataContext as ICustomTypeDescriptor;
    Debug.Assert(typeDescriptor != null, "Could not get ICustomTypeDescriptor from dataContext. Was the Start Page tool window DataContext overwritten?");
    PropertyDescriptorCollection propertyCollection = typeDescriptor.GetProperties();
    return propertyCollection.Find("DTE", false).GetValue(dataContext) as DTE2;
}

Передав DataContext из моего элемента управления в метод GetDTE(), я могу сделать это:

var dte = Utilities.GetDTE(dataContext);
dte.Solution.Open(fullPathToSolution);

Разве вы не можете просто запустить его, указав путь к решению в качестве аргумента?

Что-то вроде:

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = vsdir;
startInfo.Arguments = pathtosolution;
Process.Start(startInfo);

(если я вас правильно понимаю)

Другие вопросы по тегам