【问题标题】:How to Open a Solution from a Custom VS2010 Start Page如何从自定义 VS2010 起始页打开解决方案
【发布时间】:2011-03-31 01:41:35
【问题描述】:

我正在为 VS2010 编写自定义 WPF 起始页。我让它在视图中显示我使用的常见解决方案列表。

现在,我想在选择时在 VS 中打开解决方案。

有什么想法吗?我正在研究 DTE 的东西,但收效甚微。在我深入挖掘之前,DTE 是正确的前进方式,还是有其他方式?

【问题讨论】:

    标签: c# wpf visual-studio-2010 start-page


    【解决方案1】:

    你不能简单地以解决方案的路径作为参数运行它吗?

    类似:

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

    (如果我没听错的话)

    【讨论】:

    • 不,因为我已经在 Visual Studio 中,我不想生成新实例。
    【解决方案2】:

    我找到了解决办法。

    在Visual Studio Template生成的Utilities类中有如下静态方法:

    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 从我的 Control 传递到 GetDTE() 方法,我可以做到这一点:

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

    【讨论】:

      猜你喜欢
      • 2011-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多