2

我需要能够获取分区的分区/文件系统 UUID,类似于VOL在 WinDOS 和ls -l /dev/disks/by-partuuid*nix 中的方式,但使用 C# 代码。最好的方法是什么?

作为参考,我需要能够从当前目录或向上的“最近”挂载中获取 UUID。

编辑:我的错,应该提前说:它需要在 Mono 上运行。

4

2 回答 2

2

您可以为这两个平台编写代码,然后在运行时根据使用Environment.OSVersion.Platform哪一个来决定。确保在单独的方法(或类)中编写实现,这样运行时就不会尝试为错误的平台加载 pinvoked 库。

对于 Windows,您可以使用 GetVolumeInformation 或 WMI,如另一个答案中所述。对于 linux,您可以将问题中提到的目录与 pinvoking readlink 或使用 Mono.Posix 程序集结合使用。

于 2013-08-26T11:16:17.853 回答
0

您可能需要 P/Invoke GetVolumeInformation函数。

于 2013-08-26T05:07:12.500 回答