Я использую EnvDTE для изменения параметров компоновщика и компилятора проекта VC в надстройке Visual Studio. Но я не могу найти, где я могу получить доступ к этим параметрам из экземпляра DTE. То, что я до сих пор
// 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");
}
}
Итак, где я могу получить / установить эти параметры?
Я в конечном итоге с помощью Microsoft.VisualStudio.VCProjectEngine
в сочетании с EnvDTE
делать то, что я хотел сделать:
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;
}
}
Других решений пока нет …