我想编写一个带有C#的Windows桌面应用程序,它基本上虚拟化某个文件系统文件夹,以便应用程序将文件存储在一个文件夹中,并使文件系统看到该文件夹中的文件和子文件夹,就好像它们是文件/其他文件夹中的子文件夹(虚拟化文件夹)。
这可以用C#完成吗? 是否可以在没有文件访问性能损失的情况下完成?
我知道一些用C ++编写的应用程序可以做到这一点,但我想使用C#(因为更现代,我更熟悉它)。也许甚至有一些lib可用于此?我只是遇到了 sharpfilesystem 但是 - 没有看得太深 - 我不确定它能做我正在寻找的东西。我也不确定文件系统虚拟化是否是用于我想要做的正确的词,所以如果这是其他的话,请纠正我(符号链接,别名是相关的)。
答案 0 :(得分:1)
您所使用的技术称为Shell命名空间扩展(SNE)。不幸的是,有no (supported) way of creating a managed SNE:
Microsoft建议不要将托管进程内扩展写入Windows资源管理器或Windows Internet Explorer,并且不认为它们是受支持的方案。
对于您的特定情况,NTFS junction points可能已经足够好了。