我有一种情况需要在MSBuild脚本中复制一些特定文件,但它们可能存在也可能不存在.如果它们不存在就没关系,那我就不需要了.但是,<copy>如果标准任务无法找到列表中的每个项目,则会抛出错误...
Jul*_*rau 44
使用复制任务中的存在条件.
<CreateItem Include="*.xml">
<Output ItemName="ItemsThatNeedToBeCopied" TaskParameter="Include"/>
</CreateItem>
<Copy SourceFiles="@(ItemsThatNeedToBeCopied)"
DestinationFolder="$(OutputDir)"
Condition="Exists('%(RootDir)%(Directory)%(Filename)%(Extension)')"/>
Run Code Online (Sandbox Code Playgroud)
最简单的方法是使用ContinueOnError标志http://msdn.microsoft.com/en-us/library/7z253716.aspx
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<MySourceFiles Include="a.cs;b.cs;c.cs"/>
</ItemGroup>
<Target Name="CopyFiles">
<Copy
SourceFiles="@(MySourceFiles)"
DestinationFolder="c:\MyProject\Destination"
ContinueOnError="true"
/>
</Target>
</Project>
Run Code Online (Sandbox Code Playgroud)
但如果出现其他问题,你就不会注意到它.因此,madgnome的回答会更好.
| 归档时间: |
|
| 查看次数: |
16384 次 |
| 最近记录: |