【发布时间】:2011-01-30 18:46:14
【问题描述】:
您好,我有一个 Visual Studio 项目,其中包含以下形式的 postbuildevents:
MyTool.exe $(ProjectDir)somesrcfile.txt $(TargetDir)sometargetfile.bin
现在我想添加一些逻辑,说明这些步骤仅在文件发生更改时才会发生。在伪代码中:
if (somesrcfile.txt 比 sometargetfile.bin 更新) { MyTool.exe $(ProjectDir)somesrcfile.txt $(TargetDir)sometargetfile.bin }
我可以用 MsBuild 做到这一点吗?
编辑: 我只是用一个简单的复制命令尝试了它,但它似乎不起作用。构建解决方案时也不会显示该消息。
<ItemGroup>
<MyTextFile Include="*.txt" />
</ItemGroup>
<Target Name="Build" Inputs="@(MyTextFile)" Outputs="@(MyTextFile->'%(Filename).bin')">
<CustomBuild>
<Message>Encoding files...</Message>
<Command>
copy %(Identity) %(Filename).bin
</Command>
<Outputs>$(OutDir)%(Identity)</Outputs>
</CustomBuild>
</Target>
【问题讨论】:
标签: c# .net visual-studio visual-studio-2008 msbuild