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

时间:2011-07-19 21:14:37

标签: c# visual-studio add-in envdte

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

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

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

4 个答案:

答案 0 :(得分:22)

这是你要找的吗?

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

答案 1 :(得分:2)

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

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

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

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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

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