2

パーティションのパーティション/ファイルシステム UUID を取得できるようにする必要があります。これはVOL、WinDOS やls -l /dev/disks/by-partuuid*nix で行う方法と同様ですが、C# コードを使用します。これを行う最善の方法は何ですか?

参考までに、現在のディレクトリまたは「最も近い」マウントのいずれかから UUID を取得できる必要があります。

編集:私の悪い、これを前もって言っておくべきだった: Mono で実行する必要があります。

4

2 に答える 2

2

両方のプラットフォーム用のコードを記述し、どちらを使用するかに基づいて実行時に決定Environment.OSVersion.Platformできます。実装を別々のメソッド (またはクラス) で記述してください。そうすれば、ランタイムが間違ったプラットフォーム用にピンボークされたライブラリをロードしようとしなくなります。

Windows の場合、他の回答で説明されているように、GetVolumeInformation または WMI を使用できます。Linuxの場合、質問で言及したディレクトリを、おそらくreadlinkのピンボークまたはMono.Posixアセンブリの使用と組み合わせて使用​​できます。

于 2013-08-26T11:16:17.853 に答える