2010-06-07 19 views
5

Ho un progetto .NET CF. Nella directory del progetto inserisco un semplice file xml (users.xml) che deve essere letto dal dispositivo. Quando eseguo il debug dell'applicazione sull'emulatore del dispositivo e provo a caricare il file dal codice, viene generata l'eccezione (FileNotFoundException "Could not find file '\\users.xml'.")..NET framework compatto - dove mettere i file in modo che siano accessibili all'emulatore

Esiste un meccanismo per distribuire automaticamente anche i file di configurazione su un emulatore di dispositivo?

+0

Si potrebbe prendere in considerazione l'utilizzo di una risorsa incorporata http://bit.ly/cFuYOc http://bit.ly/a8DXOl – slf

+0

Cosa fa Visual Studio – Shaihi

+0

Visual Studio 2005 – cubesoft

risposta

2

fate avere percorso impostato sbagliato nel codice. Dopo aver seguito le istruzioni di Shaihi o Sphynx per fare in modo che Studio distribuisca il file, il file si trova nella cartella con l'applicazione.

In base al fatto che si sta verificando un errore che non è in grado di trovare "\ users.xml" mi dice che stai dicendo di guardare in modo specifico nella cartella principale o se non hai specificato una cartella.

Windows CE richiede di fornire un percorso completo, pertanto l'applicazione deve utilizzare il percorso completo in cui è distribuita (ad esempio "\ Programmi \ MyApp \ users.xml") oppure è necessario costruire il percorso :

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

Path.Combine (...) fornisce nel mio caso '\\ MyExe.exe \\ users.xml' \t e viene generata la System.IO.DirectoryNotFoundException. Cosa c'è che non va? – cubesoft

+0

bah, ecco cosa Ottengo per non controllare il mio codice - l'ho aggiornato nella risposta – ctacke

0

È possibile provare ad aggiungere il file all'applicazione, impostare "Crea azione" sul contenuto e abilitare "Copia nella directory di output". Inoltre, credo che ci sia un'opzione nelle preferenze dell'emulatore che abilita la condivisione di file tra emulatore e sistema operativo host.

+0

L'azione "Crea azione" impostata sul contenuto e "Copia in uscita" non funziona.Posso vedere "Finestra di output" che i file vengono distribuiti ma quando provo a caricare il file, FileNotFoundException – cubesoft

2

Ecco come farlo in VS2005. Distribuisce il file insieme al progetto.
Questo è per un'applicazione nativa - dovrebbe essere simile per una gestita.

Content campo specifica se distribuire il file sulla destinazione. Il file viene distribuito nella stessa directory dell'applicazione. Non sono sicuro di come VS2005 gestisca la distribuzione nel caso in cui abbiate aggiornato il file, il che significa che potrebbe essere necessario eliminarlo manualmente sul dispositivo.

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

0

Vai File->Configuration sull'emulatore e condividere una directory dal PC. Questa directory diventa la tua scheda di memoria quindi se inserisci un file come test.csv puoi leggerlo da "Storage Card \ test.csv" nel programma. (Sto usando l'emulatore VS2008 e Windows Mobile 5.0 Pocket PC RC 2.

Problemi correlati