我正在尝试将文档XML文件作为构建后的XSLT转换进行后处理(使用新的XSLTransformation步骤),但构建失败并显示错误Unable to execute transformation. Could not find file 'C:\...\documentation.XML'
。 构建完成后,文档XML文件在磁盘上显示正常,但在AfterBuild步骤中根本不存在:<Exec Command="dir $(ProjectDir)$(DocumentationFile)"/>
找不到文件,<Exec Command="$(ProjectDir)$(DocumentationFile)"/>
也没有。
XslTransformation步骤从名为AfterBuild
的任务运行,并声明为取决于Compile
步骤。显然我在这个任务被声明的方式中遗漏了一些东西,所以在文档XML文件完成之前它没有运行,但我无法弄清楚是什么。
答案 0 :(得分:2)
根据http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/8a2f4af8-7a57-454f-aa7d-684f3f89acf3,这似乎是IDE构建系统中的一个错误:IDE构建在构建期间将$(DocumentationFile)
重命名为.tmp文件,并将其重命名为正确的文档XML文件在构建完成后。我无法想象为什么他们会这样做,除了个人满足于一个邪恶的项目经理,他现在必须现在笑得恶作剧,因为它读到这个......
答案 1 :(得分:0)
这个目标声明对我来说很好用:
<Target Name="AfterBuild">
<Copy SourceFiles="$(ProjectDir)$(DocumentationFile)"
DestinationFolder="C:\..\CopyDirectory"/>
</Target>
您应该尝试删除对Compile
步骤的依赖。