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