Я разрабатываю пакет расширяемости 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, так и для стандартной папки.