2

更新: この問題は、私がテストした Android デバイスでは発生しません。良い値を返します。この問題に関する指針を本当に感謝します。

Mac デスクトップ コンピューターから正しい AvailableFreeSpace 値を取得できません。私は Unity3D C# を使用しており、次のコードを使用しています。

DriveInfo[] drives = DriveInfo.GetDrives();

foreach(DriveInfo drive in drives)
{
    if (drive.IsReady)
    {
        Debug.Log(drive.Name);
        Debug.Log(drive.AvailableFreeSpace);
        Debug.Log(drive.TotalFreeSpace);
        Debug.Log(drive.TotalSize);
    }
}

私の結果は少し奇妙です。取得できるドライブは 1 つだけです。取得する名前は「/」で、値が間違っています。AvailableFreeSpace は TotalSize よりも大きな値を返しますが、これは意味がありません。また、DriveType は Unknown で、ドライブの Format は unixfs です。

Mac コンピューターのファイル構造について明らかな何かが欠けているかどうかわかりません。

編集:500goを2つのパーティションに分割したSATA HDDがあります。それは私に2つのドライブを与えるべきではありませんか?

EDIT2:私のMonodevelopバージョンは4.0.1なので、これは数年前にバージョン2.10.0などで報告されたバグとは関係ないと思います。

私は何を間違っていますか?

4

1 に答える 1

2

別のフォーラムに投稿されましたが、どうやらこれは Mono/Unity のバグです。Unity の最新バージョンは、古い Mono (MonoDevelop (テキスト エディター) ではなく、コンパイラー) を使用します。

http://unity3d.com/unity/faq#section-445

誤った値を返すバグは、Mono の新しいバージョン (2.10) で修正され、DriveInfo に関する別のバグも Mono バージョン 3.0 で修正されました。

http://www.mono-project.com/Release_Notes_Mono_2.10

http://www.mono-project.com/Release_Notes_Mono_3.0

そのため、Mac で使用可能なディスク領域を取得する別の方法を見つける以外に、やるべきことはほとんどありません。

于 2014-06-19T18:56:41.360 に答える