2

我知道这个问题看起来很奇怪。

我使用 .NET Micro Framework 在 C# 中编写了一个小程序,该程序使用默认模拟器来模拟闪光灯,使用模拟器上的 5 个按钮,使用中断端口引发事件。

我进行了编码,以便当我按下底部按钮时,存储在 arraylist 使用日志中的所有记录都将打印到 txt 文件中。非常简单直接,我做了一个Streamwriter实例

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

但随后它在这一行抛出“System.IO.dll 中发生类型为 'System.ArgumentException' 的未处理异常”。

我无法解决这个问题,我不明白为什么这里有一个参数异常。该代码适用于 Visual C# 中的控制台项目,但不适用于 Micro Framework。

4

1 回答 1

1

您遇到的问题是因为 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 回答