在Visual Studio中,是否有一种自动生成“自定义构建”中的“附加依赖项”的方法?

9
我在Visual Studio 2013解决方案中有一个自定义构建步骤。该自定义构建步骤调用一个Python脚本来处理引用了我解决方案中多个其他文件的文本文件。我希望只要这些文件中的任何一个发生更改或我的脚本的输出丢失,就会调用自定义构建步骤。但是,我不想手动维护自定义工具的“附加依赖项”和“输出”字段。
我可以轻松地使脚本以与gcc传递-MM时生成.d文件相同的方式生成依赖关系列表。我是否可以使用我的脚本的.d输出自动填充自定义构建步骤中的“附加依赖项”?是否还有其他避免维护“附加依赖项”和“输出”字段的方法? 帮助页面仅显示如何添加单个文件。
1个回答

10

假设您的生成.d文件的脚本可以生成任何想要的文件格式,那么您应该能够通过使用Import元素来实现所需的结果:

  1. 编写一个脚本,生成一个小的项目文件而不是.d文件。您的脚本输出将是包含“附加依赖项”和“输出”字段的小型项目文件。
  2. 使用Import标记将生成的文件作为主项目的依赖项
  3. 根据您的依赖项组合发生变化的需要运行脚本。

这种方法可以让您单独维护主项目文件和可根据需要重新生成的依赖项文件。唯一的缺点是您生成的依赖项文件是一个MSBuild项目文件,而不是纯依赖项文件。但是,这不应该是一个巨大的问题,因为您拥有生成依赖项文件的脚本。


你真的认为创建一个次要项目文件的脚本,以便稍后从主项目中“导入”它,比仅通过编程向主项目XML文件添加所需的依赖关系更简单吗? - Pat
5
@Pat为什么,我不认为,我可以肯定地说,这种方法在长期内更加干净、更加稳定。 - Sergey Kalinichenko
请恕我直言,您的回答并不好。您建议通过编程方式创建一个新项目来导入项目,并将其依赖项一起导入;而我的回答则是直接将依赖项添加到主项目文件中。我认为您的回答与我的回答并不相竞争;您只是采用了我的部分内容,并使其变得更加复杂和混乱。 - Pat
6
@Pat,我清理了评论区的内容,因为它们已经失控。如果你有问题,请在聊天室或 Meta 上提出。请不要在这里继续争论,这没有建设性,而且你已经在剩下的评论中表达了你的观点。 - Taryn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接