C# 如何设置调用VisualStudio2012包中SolutionBuild.BuildProject的目标平台

C# 如何设置调用VisualStudio2012包中SolutionBuild.BuildProject的目标平台,c#,visual-studio,visual-studio-2012,vs-extensibility,C#,Visual Studio,Visual Studio 2012,Vs Extensibility,我有一个解决方案,它是用大量使用nmake构建的项目设置的。我正在尝试为VS2012编写一个扩展,它只调用IDE中设置的启动项目上的build,因为基本的f5构建活动项目通常不是启动项目。我通过从EnvDTE.Solution界面查找所有项目,并将uniquenames与Solution.StartupProjects集合中找到的项目进行比较,并利用Solution.SolutionBuild.BuildProject功能,成功检索了启动项目。但是,我的解决方案可以为win32和x64平台构建,

我有一个解决方案,它是用大量使用nmake构建的项目设置的。我正在尝试为VS2012编写一个扩展,它只调用IDE中设置的启动项目上的build,因为基本的f5构建活动项目通常不是启动项目。我通过从EnvDTE.Solution界面查找所有项目,并将uniquenames与Solution.StartupProjects集合中找到的项目进行比较,并利用Solution.SolutionBuild.BuildProject功能,成功检索了启动项目。但是,我的解决方案可以为win32和x64平台构建,并且此函数没有设置要构建哪个平台的方法,只能指定配置。最终的结果是,无论我在IDE中设置了什么平台,它总是构建Win32平台。如果我从ActiveConfiguration方法检索EnvDTE80.SolutionConfiguration2接口,那么它表明ActiveConfiguration具有正确的平台。我是否错过了构建启动项目、使用ActiveConfiguration的特定项目或指定平台的方法


任何帮助都将不胜感激。

请参阅我的网站上关于构建配置/平台部分的文章

具体来说,从以下方面开始:


如何:从Visual Studio外接程序获取或设置活动解决方案配置/平台

感谢您回答我的问题,我在研究问题时曾看到您的页面,它们非常有用。然而,我在那里读到的任何东西都不能解决我的问题。重申一下,似乎有两种发布构建的方法,通过SolutionBuild.build()方法和SolutionBuild.BuildProject()。Build将生成整个解决方案,BuildProject将忽略活动配置中设置的平台。我不需要设置活动平台,因为在IDE中已经这样做了,但是我需要一种方法来告诉BuildProject()构建正确的平台。