新的.csproj格式 – 如何将整个目录指定为“链接文件”到子目录?

使用新的.csproj格式(以及旧格式),可以将文件添加到项目文件夹之外的链接:

   

也可以使用glob模式来包含多个文件:

  

但是你如何将两者结合起来呢?

我试过的

前两个只创建一个链接文件(分别名称为*.cs* )。 第三个只是出错了。

有没有办法将globbing和链接文件组合到目标项目中的特定位置? 如果没有,我如何链接目录中的所有文件而不知道他们的名字有多少或者是什么?

虽然以前可以在使用glob扩展时使用%(RecursiveDir)元数据( Link="Resources\%(RecursiveDir)%(Filename)%(Extension)" ),但2.0.0版本的.NET Core SDK允许使用新的LinkBase元数据:

  

请注意,除了最近发布的VS 2017 15.3之外,您还需要安装2.0.0(并确保没有global.json选择较低版本)。

它引入了这个拉取请求 ,这可能是目前最好的文档。

我得到了这个为我工作(将外部目录中的所有svg文件链接到解决方案子文件夹),并提供了来自此站点的提示。 只有%(Parent.Filename)对我不起作用(得到一个CS1508),所以我用%(Filename)%(Extension)替换。

    Resources\%(Filename)%(Extension)