如何知道 Visual Studio 项目项是否是 WebReference?

发布于 2024-11-30 19:29:11 字数 849 浏览 0 评论 0原文

我正在开发一个 Visual Studio 扩展包。我需要使用 IVsSccProject2.GetSccFiles

Visual Studio 对于标准文件夹和 WebReferences 的行为有所不同:

  • 标准文件夹不返回 SCC 文件,即使它有子文件夹也是如此。
  • WebReference 返回 Web 引用下的所有文件(*.wsdl、*.datasource、*.map、*.cs)

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

如何确定项目项是 Web 参考还是标准文件夹?

我尝试使用以下方式获取项目类型:

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

但在本例中 返回的 GUID 始终是物理文件夹(6BB5F8EF-4483-11D3-8BCF-00C04F8EC28C) 适用于 WebReference 和标准文件夹。

I'm developing a Visual Studio extensibility package. I need to get the files under a project hierarchy using IVsSccProject2.GetSccFiles.

Visual Studio behaves different for an standard folders and for WebReferences:

  • An standard folder returns no SCC files even it has childs.
  • The WebReference returns all the files under the web reference (*.wsdl, *.datasource, *.map, *.cs)

This causes a problem because I use a common function to enumerate files under a project item.

How can I determine if the project item is a web reference or a standard folder?

I tried to get the item type using:

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

but in this case the returned GUID is always Physical Folder (6BB5F8EF-4483-11D3-8BCF-00C04F8EC28C) for both WebReference and standard folder.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉栀 2024-12-07 19:29:12

根据上面的注释,使用 GetSccSpecialFiles 方法。

As per the comments above, use the GetSccSpecialFiles method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文