不使用item.Document.FullName获取ProjectItem路径

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

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

有没有其他方法可以在DTE对象中访问此信息?

这是你在找什么?

myProjectItem.Properties.Item( “FULLPATH”)。值

即使我正在寻找解决方案来获取基于文档​​或文件名称的项目名称。 我通过使用dte对象找到它。 像下面一样初始化了dte对象。

 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”的webform项,则可以从ProjectItem.FileNames获取MyWebForm.ascx文件的完整路径,以及MyWebForm.ascx.cs(CodeBehind)文件的完整路径名