2017-01-16 35 views
0

我想用C#編寫一個Windows桌面應用程序,它可以虛擬化某個文件系統文件夾,這樣應用程序就可以將文件存儲在一個文件夾中,並使文件系統可以看到該文件夾​​中的文件和子文件夾,就像它們是文件/子文件其他文件夾中的文件夾(虛擬文件夾)。文件系統虛擬化 - 這可以用C#/ .NET來實現嗎?

這可以用C#完成嗎? 是否可以在沒有文件訪問性能處罰的情況下完成?我知道一些使用C++編寫的應用程序,但是我想使用C#(因爲更現代,我更熟悉它)。也許甚至有一些庫可用於此?我只是遇到了sharpfilesystem,但是 - 沒有看上去太深入 - 我不確定它可以做我正在尋找的東西。我也不確定文件系統虛擬化是否是用於我想要做的事情的正確詞彙,如果這是其他內容(符號鏈接,別名相關),請糾正我的錯誤。

+0

這不需要一個自定義的文件系統驅動程序? –

+0

我的方法是模擬HDD,它實際寫入磁盤或某處的文件,但是@JamesHughes建議它需要一個系統驅動程序,並且我沒有聽說過只有C#的文件。編輯:我剛剛發現https://msdn.microsoft.com/windows/hardware/drivers/wdf/getting-started-with-umdf-version-2也許這是幫助。 –

回答

1

您所使用的技術稱爲Shell命名空間擴展(SNE)。不幸的是,no (supported) way of creating a managed SNE

微軟建議不要寫託管的過程中擴展的Windows Explorer或Windows Internet Explorer和不考慮他們支持的方案。

對於您的特定場景,NTFS junction points雖然可能已經足夠好了。

+0

連接點對於我想要做的事情並不真實。但是,如果你有興趣,我發現我正在尋找什麼:https://github.com/TanninOne/usvfs這是一個C++的DLL,但我認爲這可以在C#中使用。 – BadmintonCat

相關問題