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

Мне нужно определить, является ли диск съемным в системе 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:

enter image description here

Мой второй пример - жестко закодированный путь монтирования записи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);
        }

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

enter image description here

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

...