替代Microsoft Device Emulator的存储卡驱动程序

时间:2012-10-08 07:50:56

标签: windows-mobile emulation driver sd-card

我们使用Microsoft Device Emulator开发和测试我们的移动应用程序(VS 2008 SP1,.NET CF 2.0和3.5,模拟器版本9.0.21022.8)。我们的项目是从映射到开发机器的本地文件夹的模拟存储卡启动的。这样我们就可以非常快速地部署,测试和调试更改,并且不受可用内部存储空间的限制。

可悲的是,存储卡驱动程序在访问大量文件时似乎非常不稳定,在访问共享文件夹中的资源时抛出随机FileNotFoundExceptionUnauthorizedAccessException

以下演示代码会随i(从8到> 100)的UnauthorizedAccessException随机崩溃。在内部存储上创建文件时,代码不会崩溃。

private const string PATH = @"\Storage Card\Temp\";

private void button1_Click(object sender, EventArgs e)
{
  if (!Directory.Exists(PATH))
  {
    Directory.CreateDirectory(PATH);
  }

  for (int i = 0; i < 1000; i++)
  {
    using (var stream = File.Create(Path.Combine(PATH, string.Concat(i, ".tmp"))))
    {

    }
  }
}

示例:

UnauthorizedAccessException

我详尽地搜索了网络,发现有些人在遇到同样的问题,但没有找到任何解决方案。

我已经尝试过:

  • 使用FAT32格式的卷进行共享
  • 以管理员身份执行所有程序
  • 大幅减少共享文件夹中的文件数
  • 使用RAM磁盘驱动程序进行测试(效果很好,但不能直接从开发机器访问)
  • 将模拟设备的RAM增加到256 MB
  • 测试了所有可用的不同模拟器图像(不会改变任何内容)
  • 冷启动或热启动仿真器设备

我的问题是:

  • Microsoft Device Emulator上的共享文件夹是否有其他选择?
  • 有没有办法修复内置机制的行为(例如注册表设置)?
  • 是否可以在模拟设备上安装另一个驱动程序来修复此问题?

0 个答案:

没有答案