2010-06-07 11 views
5

Tengo un proyecto .NET CF. En el directorio del proyecto puse un archivo xml simple (users.xml) que debe ser leído por el dispositivo. Cuando depuro la aplicación en el emulador del dispositivo e intento cargar el archivo desde el código, se lanza la excepción (FileNotFoundException "Could not find file '\\users.xml'.")..NET compact framework - dónde colocar los archivos para que sean accesibles al emulador

¿Existe un mecanismo para implementar automáticamente también los archivos de configuración en un emulador de dispositivo?

+0

Es posible que desee considerar el uso de un recurso incrustado http://bit.ly/cFuYOc http://bit.ly/a8DXOl – slf

+0

Qué hace Visual Studio usted usa? – Shaihi

+0

Visual Studio 2005 – cubesoft

Respuesta

2

Se tienen que establecer camino equivocado en el código. Después de seguir las instrucciones de Shaihi o Sphynx para que Studio implemente el archivo, el archivo se encuentra en la carpeta de la aplicación.

Basándome en el hecho de que está obteniendo un error que no puede encontrar "\ users.xml", me dice que está diciendo que busque específicamente en la carpeta raíz o que no ha especificado una carpeta.

Windows CE requiere que proporcione una ruta de acceso totalmente calificada, por lo que su aplicación debe utilizar la ruta completa en la que se implementa (es decir, \ Archivos de programa \ MyApp \ users.xml) o necesita construir la ruta :

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

Path.Combine (...) da en mi caso el '\\ MyExe.exe \\ users.xml' \t y se lanza System.IO.DirectoryNotFoundException. ¿Qué ocurre? – cubesoft

+0

bah, eso es lo Me sale por no revisar mi código, lo he actualizado en la respuesta – ctacke

0

Puede intentar agregar el archivo a su aplicación, configurando "Crear acción" para el contenido y habilitando "Copiar al directorio de salida". Además, creo que hay una opción en las preferencias del emulador que permite compartir archivos entre el emulador y el sistema operativo anfitrión.

+0

La "Acción de compilación" configurada para el contenido y "copiar para salir dir" no funciona. Puedo ver en "Ventana de salida" que los archivos están desplegados pero cuando intento cargar el archivo, FileNotFoundException se arroja. – cubesoft

2

He aquí cómo hacerlo en VS2005. Despliega el archivo junto con el proyecto.
Esto es para una aplicación nativa, debería ser similar para una administrada.

Content campo especifica si implementar el archivo en el destino. El archivo se implementa en el mismo directorio que la aplicación. No estoy seguro de cómo VS2005 maneja la implementación en caso de que haya actualizado el archivo, lo que significa que es posible que deba eliminarlo manualmente en el dispositivo.

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

0

Ir a File->Configuration en el emulador y comparten un directorio desde el PC. Este directorio se convierte en su tarjeta de almacenamiento, por lo que si coloca un archivo allí como test.csv, puede leerlo en "Tarjeta de almacenamiento \ prueba.csv" en el programa. (Estoy usando el emulador VS2008 y Windows Mobile 5.0 Pocket PC RC 2.

Cuestiones relacionadas