2016-07-07 57 views
0

我正在使用EnvDTE修改Visual Studio加載項中的VC項目的鏈接器和編譯器設置/選項。但我似乎無法找到我可以從DTE實例訪問這些選項的位置。我到目前爲止是如何使用EnvDTE爲VC項目設置鏈接器選項

// I successfully can open the solution and get the project I'd like to 
// modify the build options of (compiler and linker options) 
foreach (EnvDTE.Project p in VS2015Instance.Solution.Projects) 
{ 
     if(p.UniqueName.Contains(projectName)) 
     { 
      // At this point I have a reference to my VC project. 
      // Here I'd like to set some linker option before building the 
      // project. 
      VS2015Instance.ExecuteCommand("Build.BuildSolution"); 
     } 
} 

那麼,我可以在哪裏獲得/設置這些選項?

回答

0

我結束了與EnvDTE結合使用Microsoft.VisualStudio.VCProjectEngine做我想做的事:

VCLinkerTool linker; 
foreach (EnvDTE.Project p in VS2015Instance.Solution.Projects) 
{ 
    if (p.UniqueName.Contains(project.Name)) 
    { 
     var prj = (VCProject)p.Object; 
     var cfgs = (IVCCollection)prj.Configurations; 
     foreach (VCConfiguration cfg in cfgs) 
     { 
      if (cfg.ConfigurationName.Contains("Debug")) 
      { 
       var tools = (IVCCollection)cfg.Tools; 
       foreach (var tool in tools) 
       { 
        if (tool is VCLinkerTool) 
        { 
         linker = (VCLinkerTool)tool; 
         // now I can use linker to set its options. 
         break; 
        } 
       } 
       break; 
       } 
      } 
      break; 
    } 
} 
相關問題