.NET紧凑框架 - 放置文件的位置,以便模拟器可以访问它们

时间:2010-06-07 12:42:25

标签: c# .net xml windows-mobile compact-framework

我有一个.NET CF项目。在项目目录中,我放了一个简单的xml文件( users.xml ),该文件必须由设备读取。当我在设备模拟器上调试应用程序并尝试从代码加载文件时,抛出异常(FileNotFoundException "Could not find file '\\users.xml'.")。

是否有一种机制可以自动将配置文件部署到设备模拟器?

4 个答案:

答案 0 :(得分:2)

以下是在VS2005中的操作方法。它将文件与项目一起部署 这适用于本机应用程序 - 对于托管应用程序应该类似。

Content字段指定是否将文件部署到目标。该文件部署到与应用程序相同的目录中。我不确定VS2005如何在您更新文件时处理部署,这意味着您可能需要在设备上手动删除它。

VS2005 http://www.freeimagehosting.net/uploads/255e2922df.jpg

答案 1 :(得分:2)

您的代码中的路径设置有误。按照Shaihi或Sphynx的指示让Studio部署文件后,该文件就会出现在应用程序的文件夹中。

基于这样一个事实,即你收到一个无法找到的错误“\ users.xml”告诉我你要么告诉它要专门查看根文件夹,要么你没有指定文件夹。< / p>

Windows CE要求您提供完全限定的路径,因此您的应用程序应使用其部署的完整路径(即“\ Program Files \ MyApp \ users.xml”),或者您需要构建路径:

Path.Combine(
  Path.GetDirectoryName(
   Assembly.GetExecutingAssembly().GetName().CodeBase
  ), "users.xml");

答案 2 :(得分:0)

您可以尝试将文件添加到应用程序,将“构建操作”设置为内容,然后启用“复制到输出目录”。 另外,我相信模拟器首选项中有一个选项可以在模拟器和主机操作系统之间共享文件。

答案 3 :(得分:0)

转到模拟器上的File->Configuration并从PC共享目录。这个目录成为你的存储卡,所以如果你把文件放在test.csv那么你可以从程序中的“Storage Card \ test.csv”中读取它。 (我使用的是VS2008和Windows Mobile 5.0 Pocket PC RC 2仿真器。