编辑项目 *.csproj
文件:
<!-- 复制文件任务 CopyTestFiles,在 Build 阶段前 -->
<Target Name="CopyTestFiles" BeforeTargets="Build">
<PropertyGroup>
<!-- 目标路径 -->
<TargetFolder>$(OutputPath)HTRI\Case\10086\</TargetFolder>
<!-- 源文件路径 -->
<!-- 这里的 SourceFolder 路径最后不要加反斜杠 -->
<SourceFolder>TestFiles\HTRI</SourceFolder>
</PropertyGroup>
<ItemGroup>
<!-- 确保这里包含的是文件,或者说,Copy 任务会处理其中的文件部分 -->
<!-- 建议加上 *.* 明确指代文件,或者 **\* 也行,Copy 任务会选择文件 -->
<TestFiles Include="$(SourceFolder)\**\*.*"/>
</ItemGroup>
<!-- 检查并创建目录 -->
<Message Text="创建目录: $(TargetFolder)" Importance="high"/>
<MakeDir Directories="$(TargetFolder)" Condition="!Exists('$(TargetFolder)')"/>
<!-- 检查源文件目录是否存在并复制到目标目录 -->
<Message Text="复制文件从 $(SourceFolder) 到 $(TargetFolder)" Importance="high"/>
<!-- 复制并保留目录结构 -->
<Copy SourceFiles="@(TestFiles)"
DestinationFiles="@(TestFiles->'$(TargetFolder)%(RecursiveDir)%(Filename)%(Extension)')"
SkipUnchangedFiles="true"
Condition="Exists('$(SourceFolder)')"/>
<!-- 添加调试信息 -->
<Message Text="源文件夹 $(SourceFolder) 不存在,跳过复制"
Condition="!Exists('$(SourceFolder)')"
Importance="high"/>
</Target>
作用就是把当前项目根目录下的 TestFiles\HTRI
目录中的所有文件,都在构建项目的时候拷贝到输出根目录下的 HTRI\Case\10086\
中。
实测: