【问题标题】:How do I set the target platform for a call to SolutionBuild.BuildProject in VisualStudio2012 package如何在 VisualStudio2012 包中设置调用 SolutionBuild.BuildProject 的目标平台
【发布时间】:2016-02-04 05:53:06
【问题描述】:

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

任何帮助将不胜感激。

【问题讨论】:

    标签: c# visual-studio visual-studio-2012 vs-extensibility


    【解决方案1】:

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

    http://www.visualstudioextensibility.com/articles/add-ins/

    具体来说,从:

    HOWTO:从 Visual Studio 插件获取或设置活动解决方案配置/平台

    【讨论】:

    • 感谢您回答我的问题,实际上我在研究问题时遇到了您的网页,它们非常有帮助。但是,我在那里读到的任何内容都没有解决我遇到的问题。重申一下,似乎有两种发布构建的方法,通过 SolutionBuild.Build() 方法和 SolutionBuild.BuildProject()。 Build 将构建整个解决方案,BuildProject 会忽略活动配置中设置的平台。我不需要设置活动平台,因为这已经在 IDE 中完成,但我确实需要一种告诉 BuildProject() 构建正确平台的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多