Как я могу получить информацию о съемном диске в Linux (Mono)?

Мне нужно определить, что диск является съемным в системе Linux. Я использую простую программу, написанную на C#. На Win все отлично работает. Но когда я пытаюсь запустить приложение через Mono в Ubuntu, у меня возникает проблема, приложение не может распознать съемный диск. Мой первый пример:

var drives = DriveInfo.GetDrives()
            .Where(drive => drive.IsReady && drive.DriveType == DriveType.Removable);
        foreach (var drive in drives)
        {
            Console.WriteLine(drive.Name);
            Console.WriteLine(drive.DriveFormat);
            Console.WriteLine("{0:0.##}", drive.TotalSize / 1073741824.00);
        }

Это хорошо работает на Win:

Мой второй пример - жестко закодированный путь монтирования записи fe:

 var drives = DriveInfo.GetDrives()
            .Where(drive => drive.IsReady && drive.Name == "/media/usb0"); // from usb0 to usb4 
        foreach (var drive in drives)
        {
            Console.WriteLine(drive.Name);
            Console.WriteLine(drive.DriveFormat);
            Console.WriteLine("{0:0.##}", drive.TotalSize / 1073741824.00);
        }

И это работает для меня:

Но я думаю, что жестко закодированный путь - очень плохой метод для программирования. Есть ли другие способы получить съемные диски в Linux с помощью Mono? Какие-либо предложения?

0 ответов

Другие вопросы по тегам