大家好,我叫Felix Huang,是Visual C++团队的开发人员。 在过去的一年中,我致力于以MSBudio系统为基础,以VisualStudio 2010中的构建系统更加灵活。 对于那些认为需要使用批处理脚本来支持构建的人,我希望这个新系统能够为您提供如此大的灵活性,同时保持与visualstudio以前版本相似的UI感觉。 上一篇文章作者 玛丽安·卢帕鲁 更多地涉及MSBuild的好处。 在本文中,我将提供一个增强构建系统和属性页的示例,以更好地适应开发生命周期。
假设您想向现有工具添加另一个开关。 以link.exe中的/WS:AGGRESSIVE为例。 我们在项目旁边创建一个名为myfavorite.xml的文件。 此文件描述UI属性页的结构。 我们希望在优化类别中使用布尔开关。 通过从MSDN复制和粘贴注释,我们得到下面的代码片段。
<?xml version=“1.0”encoding=“utf-8〃?>
<规则.类别>
<规则.数据源>
参考 李绍的博客 关于编写xml的主题。 重新启动Visual Studio以加载更改。
接下来,我们将把开关附加到目标文件,从而在执行期间将其传递给链接器。 有很多方法可以做到这一点;但是让我们使用MSBuild4.0中的一个新特性,该特性在目标之前/之后调用。 在一个项目文件(.vcxproj)中,将下面的
<项目组>
<属性页架构
Include=“$(MSBuildThisFileDirectory)myfavorite.xml”/>
<项目组>
<链接>
PropertyPageSchema项组将让IDE知道在哪里查找xml。 现在您的项目已准备好进行构建。
谢谢你的阅读。
Felix Huang公司