2013-03-18 112 views
7

我有一个Visual Studio 2013的解决方案自定义生成步骤。自定义构建步骤在引用解决方案中的其他几个文件的文本文件上调用python脚本。我希望在任何这些文件发生更改或缺少脚本输出时调用自定义构建步骤。但是,我不想手动维护自定义工具“附加依赖项”和“输出”字段。有没有办法自动生成“附加依赖”在Visual Studio中“自定义生成”?

我可以很容易使脚本生成以同样的方式的依赖,在-MM过去了GCC可以生成.D文件的列表。有没有一种方法可以使用脚本的.d输出自动填充“自定义生成”步骤中的“其他依赖项”?有一些其他的方式来避免维护了“附加依赖”和“输出”田“?

help page只显示如何添加单个文件。

回答

10

假设你产生.d文件可以在生成文件的脚本任何你想要的格式,你应该能够做到这一点,你需要使用Import元素的结果:

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

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

+0

你真的认为这将创建一个辅助项目文件,供以后从主项目“进口”它以股代息,是不仅仅是编程添加所需的依赖,主要项目上的XML文件中简单的方法? – Pat 2014-06-10 19:56:20

+5

@Pat为什么,我不认为* *,我* *知道一个事实,即这种做法会更加清晰,并且从长远来看,稳定得多。 – dasblinkenlight 2014-06-10 20:00:22

+0

与所有应有的尊重你的答案不好;您邀请以编程方式创建一个用于导入项目的新项目,用于导入依赖项;我的答案直接将依赖项添加到主项目文件中;我认为你的答案不会与我的竞争;你只是参加了我的一部分,使它更复杂和复杂。 – Pat 2014-06-10 20:23:53

相关问题