首页 新闻 会员 周边

.csproj 如何指定目录批量添加文件到项目中

0
悬赏园豆:30 [已解决问题] 解决于 2021-09-10 12:04

<ItemGroup>
<Content Include="..\bin\VideoPlayer**">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>

上述的 Content 会将指定目录中的所有文件以添加链接的方式加入到项目中。

我该如何设置,才能做到以下效果?

  1. 添加到项目中时保留文件夹层级
  2. 将这个内容添加到指定的目录中,而不是根目录
2324736194的主页 2324736194 | 初学一级 | 园豆:168
提问于:2021-09-10 11:16
< >
分享
最佳答案
1

添加到项目中时保留文件夹层级

Include="..\bin\VideoPlayer** ==> /dire/**/* 这样就能在target dire 保留子层级目录了.

将这个内容添加到指定的目录中,而不是根目录
增加link属性, 参考
Include="abc/**/*" Link="target_special_dire/%(RecursiveDir)%(Filename)%(Extension)"

更多用法请参考官方文档:
https://docs.microsoft.com/zh-cn/visualstudio/msbuild/msbuild-task-reference?view=vs-2019

https://docs.microsoft.com/zh-cn/visualstudio/msbuild/msbuild-well-known-item-metadata?view=vs-2019&redirectedfrom=MSDN&viewFallbackFrom=vs-2015

收获园豆:30
czd890 | 专家六级 |园豆:14412 | 2021-09-10 11:41

<None Include="../bin/VideoPlayer/* " Exclude="../bin/VideoPlayer/ *.pdb">
<Link>VideoPlayer/%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="../bin/VideoPlayer/**/*">
<Link>VideoPlayer/%(RecursiveDir)%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
这个就是最终效果,非常感谢。

2324736194 | 园豆:168 (初学一级) | 2021-09-10 12:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册