繁体   English   中英

在不使用 item.Document.FullName 的情况下获取 ProjectItem 路径

[英]Get ProjectItem path without using item.Document.FullName

我有一个 Visual Studio 插件项目,我必须使用这些文件的绝对(或相对)路径来遍历当前项目的项目。

item.Document.FullName有效,但仅适用于当前打开的文件。

有没有其他方法可以访问DTE object 中的这些信息?

这是你要找的吗?

myProjectItem.Properties.Item("FullPath").Value

甚至我也在寻找一种解决方案来根据文档或文件名获取项目名称。 我通过使用DTE object 找到了它。 初始化DTE object,如下所示。

EnvDTE80.DTE2 objDTE = this.GetService(typeof(SDTE)) as EnvDTE80.DTE2;

然后我使用以下代码来获取项目的名称。

var projectItem = objDTE.Solution.FindProjectItem(document);
var projectUniqueName = projectItem.ContainingProject.UniqueName;

我们发现,除非我们想自己解析 XML 项目文件,否则您必须首先加载任何已卸载的项目。

我们记录列表并在之后再次卸载它们,因此唯一的问题是加载它们所需的时间。

ProjectItem.FileNames是一个集合,表示关联文件的完整路径

例如,如果您有名为“MyWebForm”的网络表单项,您可以从ProjectItem.FileNames获取 MyWebForm.ascx 文件的完整路径以及 MyWebForm.ascx.cs (CodeBehind) 文件的完整路径名

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM