C# 如何从解决方案中仅获取项目?

C# 如何从解决方案中仅获取项目?,c#,visual-studio-2012,envdte,C#,Visual Studio 2012,Envdte,我使用以下方法获得项目列表: var solution = (IVsSolution)Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(IVsSolution)); 有关更多详细信息,请参阅以下内容 但它给了我解决方案中的每一项,如目录、项目等。 我只需要项目 如何从解决方案中仅获取项目?我尝试了,并获得了预期的结果。 也许还有其他更好的解决办法,但这对我来说确实有效 var projects = CommonMethod

我使用以下方法获得项目列表:

var solution = (IVsSolution)Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(IVsSolution));
有关更多详细信息,请参阅以下内容

但它给了我解决方案中的每一项,如目录、项目等。 我只需要项目


如何从解决方案中仅获取项目?

我尝试了,并获得了预期的结果。 也许还有其他更好的解决办法,但这对我来说确实有效

var projects = CommonMethods.GetProjects(solution).Where(item => item.FullName != string.Empty).ToList();

Sry我刚开始编程,所以我的解决方法可能不是最好的,但不久前我就遇到了同样的问题

为了解决这个问题,我在一个列表中解析了解决方案的所有项,然后我检查了这些项的相对路径是否有后缀“.csproj”或我需要的任何其他类型的项目,并将它们写入了一个新的列表。这可能会帮到你吗