如何使用EnvDTE为VC项目设置链接器选项
问题描述:
我正在使用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");
}
}
那么,我可以在哪里获得/设置这些选项?
答
我结束了与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;
}
}