2

私はこの質問が奇妙に思えることを知っています。

私は .NET Micro Framework を使用して C# で小さなプログラムを作成します。このプログラムは、デフォルトのエミュレーターを使用して、エミュレーターの 5 つのボタンを使用してフラッシュ ライトをエミュレートし、interruptport を使用してイベントを発生させます。

一番下のボタンを押すと、arraylist の使用ログに保存されているすべてのレコードが txt ファイルに出力されるようにコーディングしました。非常にシンプルでわかりやすい、Streamwriter インスタンスを作成しました

StreamWriter sw = new StreamWriter(@"c:\temp.txt");

しかし、この行で「System.IO.dll で「System.ArgumentException」タイプの未処理の例外が発生しました」がスローされます。

これを修正することはできません。なぜここに引数の例外があるのか​​理解できません。このコードは、Visual C# のコンソール プロジェクトでは正常に機能しますが、Micro Framework では機能しません。

4

1 に答える 1

1

あなたが抱えている問題は、FileSystem が Windows と MicroFramework で異なるためです。いくつかのディレクトリ関数を使用して利用可能なディレクトリを決定することにより、エミュレータで実行することができました。

public static void Main()
{
    string  d = Directory.GetCurrentDirectory();
    string[] directorys = Directory.GetDirectories(d);
    foreach (var item in directorys )
    {
        Debug.Print(item);
    }

    try
    {
        using (StreamWriter sw = new StreamWriter("\\WINFS\\temp.txt"))
        {
            sw.WriteLine("Good Evening");
            sw.Close();
        }
    }
    catch (Exception ex)
    {
        throw ex;
    }

}

思いついたエミュレータで

 [0]: "\\ROOT"
 [1]: "\\WINFS"

ROOTうまくいきませんでしたが、WINFSうまくいきました。

于 2013-01-10T07:03:49.393 に答える