我正在爲VS2010編寫自定義WPF開始頁面。我有它在View中顯示我使用的常見解決方案的列表。如何從自定義VS2010打開解決方案開始頁面
現在,我想在選中VS時打開解決方案。
任何想法?我在看DTE的東西,但收效甚微。在深入挖掘之前,DTE是否是正確的方向,還是有另一種方式?
我正在爲VS2010編寫自定義WPF開始頁面。我有它在View中顯示我使用的常見解決方案的列表。如何從自定義VS2010打開解決方案開始頁面
現在,我想在選中VS時打開解決方案。
任何想法?我在看DTE的東西,但收效甚微。在深入挖掘之前,DTE是否是正確的方向,還是有另一種方式?
我找到了解決辦法。
在由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);
(如果我沒有理解你的權利)
不,因爲我已經在Visual Studio中,我不想產生一個新的實例。 – DaveShaw 2010-08-18 08:26:49
哦,對不起,很高興看到你找到了你的答案:) – Blam 2010-08-18 11:52:50