为什么 EmbeddedFileProvider 不是分层的?

Why is the EmbeddedFileProvider not hierarchical?

今天,我试图将 EmbeddedFileProvider 用作 IFileProvider 的只读伪造品。不幸的是,由于以下代码行,无法获得 "directory" 内容:

// Non-hierarchal.
if (!subpath.Equals(string.Empty))
{
    return new NotFoundDirectoryContents();
}

考虑到嵌入式文件(至少在 beta 4 中)使用 / 保留了它们的文件夹结构,并且新的 EmbeddedFileProvider 至少可以这样列出内容,我认为这是一个有点意外。

虽然实现我自己的 HierarchicalEmbeddedFileProvider 很容易,但使框架版本非分层的设计决定是什么?

在最新版本的 DNX 中,我们进行了更改,以便嵌入式文件和资源不保留其路径:/. 取代。层次结构被展平为有效的 C# 完整类型名称的名称。这与 MSBuild 之前所做的相同。

由于.也可以出现在文件名中,所以无法知道层次结构。