如何知道一个Visual Studio项目项是否是一个WebReference

本文关键字:一个 是否是 WebReference 项目 Studio 何知道 Visual | 更新日期: 2023-09-27 18:05:56

我正在开发一个Visual Studio扩展包。我需要使用IVsSccProject2.GetSccFiles获得项目层次结构下的文件。

Visual Studio对标准文件夹和webrereferences的行为不同:

  • 一个标准文件夹不返回SCC文件,即使它有子文件夹。
  • web引用返回web引用(*)下的所有文件。wsdl, *。数据源,*。地图,* cs)

这会导致一个问题,因为我使用了一个通用函数来枚举项目项下的文件。

如何确定项目项是web引用还是标准文件夹?

我尝试使用:

获取项目类型
hierProject.GetGuidProperty(
    itemid,
    (int)__VSHPROPID.VSHPROPID_TypeGuid,
    out guid);

但是在这种情况下,返回的GUID总是物理文件夹(6BB5F8EF-4483-11D3-8BCF-00C04F8EC28C)对于WebReference和标准文件夹

如何知道一个Visual Studio项目项是否是一个WebReference

按照上面的注释,使用GetSccSpecialFiles方法