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
にキャストせずに、の動的にキャストしても、FullName
、Properties()
など多くのものを呼び出すことはできません。助けてください!