Как узнать, является ли элемент проекта Visual Studio веб-ссылкой? - PullRequest
3 голосов
/ 18 августа 2011

Я разрабатываю пакет расширяемости Visual Studio.Мне нужно получить файлы в иерархии проекта, используя IVsSccProject2.GetSccFiles.

Visual Studio ведет себя по-разному для стандартных папок и для веб-ссылок:

  • Стандартпапка не возвращает файлов SCC, даже если у нее есть дочерние элементы.
  • WebReference возвращает все файлы по веб-ссылке (* .wsdl, * .datasource, * .map, * .cs)

Это вызывает проблему, поскольку я использую общую функцию для перечисления файлов в элементе проекта.

Как определить, является ли элемент проекта веб-ссылкой или стандартной папкой?

Iпопытался получить тип элемента, используя:

hierProject.GetGuidProperty(
    itemid,
    (int)__VSHPROPID.VSHPROPID_TypeGuid,
    out guid);

, но в этом случае возвращенный GUID всегда является физической папкой (6BB5F8EF-4483-11D3-8BCF-00C04F8EC28C) как для WebReference, так и для стандартной папки.

1 Ответ

0 голосов
/ 19 августа 2011

Согласно комментариям выше, используйте метод GetSccSpecialFiles.

...