gpt4 book ai didi

visual-studio-2010 - VS2010 DTE 插件 : project inside solution folder is not "Project"

转载 作者:行者123 更新时间:2023-12-02 20:35:20 29 4
gpt4 key购买 nike

我有一个小的 vs 插件,它在解决方案中查找项目并用它做一些事情。我收集这样的项目:

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>()); } }

该项目仍然不存在。所以我手动检查了,在

上调用 item is Project
  • 直接在解决方案内部进行项目是正确
  • 直接位于解决方案内的解决方案文件夹是TRUE(小wtf)
  • 解决方案文件夹内的项目(我在 folder.ProjectItems 中找到它)是FALSE!!!! (当然,显式转换会引发错误)

到底是什么?如果不将其转换为 Project,我就无法调用 FullNameProperties() 以及其上的许多其他内容,即使我转换为 动态。请帮忙!

最佳答案

答案在这里:http://www.wwwlicious.com/2011/03/29/envdte-getting-all-projects-html/

仅进行一些更改:

if (project.Kind == EnvDTE.Constants.vsProjectKindSolutionItems)

关于visual-studio-2010 - VS2010 DTE 插件 : project inside solution folder is not "Project",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6410911/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com