2011-06-20 8 views
6

私はソリューション内でプロジェクトを探して、それにいくつかのことをする小さなvs addinを持っています。できるだけ早く私はソリューションフォルダを導入し、突然プロジェクトはどこにも見つからなかったことを、その中にプロジェクトを置いて、しかしVS2010 DTE Addin:ソリューションフォルダ内のプロジェクトは「プロジェクト」ではありません

Application.DTE.Solution.Projects.OfType<Project>(); 

:私はこのようなプロジェクトを収集します。だから私は試しました

private IEnumerable<Project> getProjectsRecursive(IEnumerable<Project> iEnumerable) 
{ 
     foreach (var item in iEnumerable) 
     { 
      yield return item; 
      foreach (var child in getProjectsRecursive(item.ProjectItems.OfType<Project>())) 
      { 
       yield return child; 
      } 
     } 
} 
public IEnumerable<Project> EveryProject { get { return getProjectsRecursive(Application.DTE.Solution.Projects.OfType<Project>()); } } 

まだプロジェクトはありません。だから私は解決策が解である直接の内側TRUE

  • ソリューションフォルダが直接内部の

    • プロジェクトにitem is Projectを呼び出して、手動でチェックしましたTRUE(小WTF)ソリューションの内側
    • プロジェクトフォルダ(私はfolder.ProjectItemsでそれを見つけました)はです偽 !!!!! (もちろん明示的なキャスティングではエラーがスローされます)

    どうしますか? Projectにキャストせずに、の動的にキャストしても、FullNameProperties()など多くのものを呼び出すことはできません。助けてください!

  • 答えて

    関連する問題