本文介绍了如何获取输出文件列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在VS2005/2008中,我能够使用IVsProjectCfg-> EnumOutputs方法获取任何项目的输出文件列表.对于VS2010,此方法已过时.我该怎么用呢?

In VS2005/2008 I was able to get the list of output files for any project using IVsProjectCfg->EnumOutputs method. For VS2010 this method is obsolet. What can I use instead?

推荐答案

我们应该能够获得与您所获得的信息相同的信息通过使用IVsOutputGroup接口通过EnumOutputs:

针对SVsSolutionBuildManager的查询服务

在项目IVsHierarchy上调用IVsSolutionBuildManager :: FindActiveProjectcfg

广播到IVsProjectCfg2

cast to IVsProjectCfg2

调用OpenoutputGroup(运行下面的宏,以了解输出组名称)

调用get_outputs

  CheckProjectOutputs()

 Sub CheckProjectOutputs()

                                         昏暗 v VSProject

       Dim v As VSProject

 

                                          v = DTE.Solution.Item(1).Object

 

                                         对于 每个 o 作为 OutputGroup v.Project.ConfigurationManager.ActiveConfiguration.OutputGroups

       For Each o As OutputGroup In v.Project.ConfigurationManager.ActiveConfiguration.OutputGroups

   'MsgBox(o.DisplayName&"")

           'MsgBox(o.DisplayName & " ")

   对于 每个 f 字符串 o.FileNames

           For Each f As String In o.FileNames

       Debug.Print(o.DisplayName&" " & f)

                Debug.Print(o.DisplayName &" " & f)

            下一个

           Next

         下一个

为C#Windows窗体应用输出类似于以下内容的

主要输出WindowsFormsApplication1.exe

主要输出WindowsFormsApplication1.exe.config

源文件Form1.cs

源文件Form1.Designer.cs

源文件Program.cs

源文件Properties \ AssemblyInfo.cs

源文件Properties \ Resources.Designer.cs

源文件Properties \ Settings.Designer.cs

源文件Properties \ Resources.resx

源文件WindowsFormsApplication1.exe.config

源文件WindowsFormsApplication1.csproj

调试符号WindowsFormsApplication1.pdb

  CheckProjectOutputs()

 Sub CheckProjectOutputs()

                         昏暗 v VSProject

       Dim v As VSProject

 

                          v = DTE.Solution.Item(1).Object

                         对于 每个 o 作为 OutputGroup v.Project.ConfigurationManager.ActiveConfiguration.OutputGroups

       For Each o As OutputGroup In v.Project.ConfigurationManager.ActiveConfiguration.OutputGroups

 

                             'MsgBox(o.DisplayName&"")

           'MsgBox(o.DisplayName & " ")

                             对于 每个 f 字符串 o.FileNames

           For Each f As String In o.FileNames

                                 Debug.Print(o.DisplayName&" " & f)

                Debug.Print(o.DisplayName &" " & f)

                             下一个

           Next

         下一个

我希望能对您有所帮助.

谢谢!


这篇关于如何获取输出文件列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-16 00:18
查看更多