2015-07-28 35 views
0

我必須解析我的解決方案以列出它正在使用的所有文件。使用DTE解析解決方案Visual Basic

我創造了這個:

Imports EnvDTE 
Imports EnvDTE80 
Imports Microsoft.VisualBasic 
Imports System.Collections 
Public Class C 
    Implements VisualCommanderExt.ICommand 

    Sub Run(DTE As EnvDTE80.DTE2, package As Microsoft.VisualStudio.Shell.Package) Implements VisualCommanderExt.ICommand.Run 
     listing(DTE) 
    End Sub 
    Sub listing(DTE As EnvDTE80.DTE2) 
     Dim prj As Project 
     Dim prjs As Projects 

     prjs = DTE.Solution.Projects 
     For Each prj In prjs 
      Dim item As String 
      Dim itemEnum as IEnumerator = prj.GetEnumerator() 
      itemEnum.Reset() 
      While itemEnum.MoveNext() 
       item = itemEnum.Current().FullName 
       My.Computer.FileSystem.WriteAllText("C:\tmp\list.txt", item, True) 
      End While 
     Next 
    End Sub 

End Class 

不幸的是我遇到了異常:

System.Runtime.InteropServices.COMExcption(0x80020003):找不到成員....

我的解決方案有10個項目。

回答

0

導航項目和文件是遞歸的,因爲它們可以嵌套。 請參閱我的文章:

HOWTO:從Visual Studio .NET宏或加載項導航解決方案的文件。

HOWTO:使用加載項中的IVsHierarchy接口瀏覽解決方案的文件。

http://www.visualstudioextensibility.com/articles/add-ins/

+0

我讀它,我建立這是工作的宏,但我有一個問題 - 它有可能獲得來自外部'名字Dependencies'?我無法以任何方式獲得它們。 –

相關問題