我正在尝试确定在 Visual Studio 中使用自定义工具时是否有可能更改一个文件的内容,触发另一个文件的自定义工具。
我的情况是这样的:
在 Visual Studio C# 项目中,我有一个“master.xsd”xml 架构,其中包括其他几个 xsd 文件。我正在使用Xsd2Code Visual Studio 自定义工具从架构生成 .cs。当 master.xsd 本身发生更改时,这可以正常工作,但是我希望自定义工具在其他 xsds 之一更改时在文件 master.xsd 上运行。
有没有办法让一个文件触发另一个文件的自定义工具?
[编辑-有关我为什么要为此使用自定义工具的更多详细信息]
目前我们有一个 GenerateFiles.bat 文件,它从命令行调用 Xsd2Code 以从模式生成代码文件(如下面的 MattDavey 建议)。这行得通,就是太慢了。
问题是,Xsd2Code 在每次构建时都会运行,但由于许多其他项目依赖于这个项目的模式,即使可能没有任何改变,它们也会重新编译。实际的结果是,即使是对单元测试的微小更改也会涉及到一半的项目重新编译。这就是为什么我们一直在研究仅在架构更改时才生成代码文件的自定义工具方法。