Как открыть решение с пользовательской стартовой страницы 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);
(если я вас правильно понимаю)