Виртуальные диски в.NET?
Есть ли простая библиотека для.NET для монтирования виртуальных дисков?
Мне нужно смонтировать архив на виртуальном диске и, скорее всего, использовать виртуальную файловую систему.
Формат архива не поддерживает папки, поэтому мне нужно вручную предоставлять файлы и папки из архива. Атрибуты также не поддерживаются, но я использую файлы метаданных для их хранения.
Чем больше у меня контроля над приводом и ФС, тем лучше.
4 ответа
Вы можете использовать библиотеку Dokan для создания виртуального диска. Взгляните на проблему 43: не устанавливается в Windows 7
Windows , 10 обеспечивает облако фильтра API и проецируемое файловой системы API . Оба работают в пользовательском режиме, не требуют подписи и установки драйверов. API облачного фильтра является частью Windows уже пару лет.
PowerShell (PSH) предлагает возможность создания "провайдеров", которые позволяют обрабатывать различные ресурсы как файловую систему (включая файловую систему, реестр, активный каталог) на разных уровнях, вплоть до простых списков "имя-значение" (например, dir env:
перечислит все переменные окружения в качестве содержимого env:
привод).
PowerShell также может быть встроен в приложение.NET: грубо говоря, создайте Runspace
а затем выполните в нем команды и сценарии, включая загрузку модуля PSH, в состав которого входит пользовательский поставщик. Недвижимость на Runspace
Экземпляр разрешает доступ к дискам и их провайдерам.
Если вам нужно сделать это в коде, вы можете использовать нашу файловую систему обратного вызова - этот продукт был разработан для таких задач, как ваша. Это позволяет вам определять структуру файловой системы в вашем коде, а также выполнять чтение и запись в вашем коде. Таким образом, вы можете читать и писать в любой формат архива, который вам нужен.