很多场景因为资源文件太多或太大无法放到资源里面或者是依赖的dll文件,需要编译时同步到bin\debug或bin\release下的,这里面要修改工程文件代码实现。
比如,我把这个项目依赖的dll和附加文件放到ref_dll文件夹里面,希望编译的时候将ref_dll里面的所有内容保持结构化地复制至bin\debug下
则需要修改这个.csproj文件:
在前加入:
<ItemGroup><!-- 收集 ref_dll 目录下的所有文件 --><RefDllFiles Include="ref_dll\**\*.*" />
</ItemGroup><Target Name="CopyRefDll" AfterTargets="Build"><!-- 保留子目录结构复制 --><Copy SourceFiles="@(RefDllFiles)" DestinationFiles="@(RefDllFiles->'$(OutDir)%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true" />
</Target>
vs这个功能是非常nice的。编译后: