2010-08-17 79 views
2

我正在爲VS2010編寫自定義WPF開始頁面。我有它在View中顯示我使用的常見解決方案的列表。如何從自定義VS2010打開解決方案開始頁面

現在,我想在選中VS時打開解決方案。

任何想法?我在看DTE的東西,但收效甚微。在深入挖掘之前,DTE是否是正確的方向,還是有另一種方式?

回答

3

我找到了解決辦法。

在由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); 
0

難道你不能簡單地以解決方案的路徑作爲參數來運行它嗎?

喜歡的東西:

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

(如果我沒有理解你的權利)

+0

不,因爲我已經在Visual Studio中,我不想產生一個新的實例。 – DaveShaw 2010-08-18 08:26:49

+0

哦,對不起,很高興看到你找到了你的答案:) – Blam 2010-08-18 11:52:50

相關問題