У меня есть небольшой vs 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>()); } }
, но проекта нет. Итак, я проверил вручную, вызывая элемент Project
в проекте
.ProjectItems
) имеет значение FALSE !!!!! (и, конечно же, явное приведение приводит к ошибке) Какого черта?
Без преобразования его в Project
, я не могу вызвать FullName
, Properties ()
и многое другое, даже если я приведу к dynamic ]. Пожалуйста, помогите!