将参数传递给Visual Studio 2010中的MSBuild任务(2012?)

时间:2013-03-29 15:22:02

标签: visual-studio-2010 visual-studio-2012 msbuild msbuild-task

我正在尝试弄清楚如何在Visual Studio 2010中为MSBuild任务指定值。

例如,我定义了一个名为“BuildMergeModule”的构建任务,并且此构建任务采用一个名为“SourceContent”的Input属性,我可以在其中传递一个带分号文件/路径规范的字符串。然后,任务使用该任务从该SourceContent规范为项目中的每个目标合并模块生成合并模块。

我可以将合并模块文件添加到项目中,然后为其分配“BuildMergeModule”任务的Build Action。

那么,在VS 2010(或VS 2012,如果不是VS 2010)中是否可以定义属性,以便在选择每个项目合并模块目标的属性时显示在属性对话框中?

如果直接修改MSBuild文件,我可以设置属性。但是,有没有办法让Visual Studio设计环境呈现作为构建操作的选定任务的属性?

1 个答案:

答案 0 :(得分:0)

您可以在C ++项目的属性页面中显示所需的属性。对于C#(或其他类型的项目),您需要创建一个VSIX属性页面以公开您的任务输入属性。

我不会描述如何创建VSIX属性页面,因为我对这些页面的体验很少。

要在C ++项目中创建属性页面,请打开' Property Manager'从视图菜单中。您将在此窗口中看到您的项目,以及每个平台|配置的各种排列。

右键单击要为其创建设置的项目,然后选择“添加新属性表...”#39;。在'添加新项目'出现的对话框,将属性表文件命名并放置在您希望的位置。请注意,您也可以仅在需要时将新属性表添加到特定的平台/配置。

创建新属性表后,您将在Property Manager的各种平台/配置部分下看到它。双击属性表以打开其设置。

点击'用户宏'并添加包含要发送到任务的设置的新宏。例如,设置一个名为' SourceContent'的新宏。并将其值设置为您希望用其构造MergeModules的以分号分隔的文件列表。