Domanda

Sto usando la tecnologia isolataStage nella mia applicazione C # .NET.

La mia applicazione consente di risparmiare dati su chiusura in un file chiamato mydata.dat nell'archiviazione isolata.

Quando apro la mia applicazione Ricarica che i dati e lo stampa sullo schermo.

Quando spostando la mia applicazione in un'altra directory, ad esempio da D: \ myApp.exe a D: \ apps \ myApp.exe, quindi eseguire l'applicazione dalla nuova directory, non riesce a caricare il file myData.dat (FileNotFoundException) perché cerca un file mydata.dat diverso in un posto diverso ..

Qualcuno sa come posso salvare il mio file isolato - file mydata.dat in un luogo che non importa da dove apro la mia app.exe lo troverà?

È stato utile?

Soluzione

Verifica la directory di isolatoStorrage ritenuto in entrambi i casi.Anche se la macchina è la stessa, il percorso di storage previsto potrebbe essere diverso per la stessa applicazione in luoghi diversi.

Ottieni il percorso di archiviazione di isolamento

Altri suggerimenti

Penso che le tue informazioni di assemblea siano cambiate in qualche modo.Ad esempio, prima di spostare il tuo exe è stata la versione 1.0.0.0 e in un'altra directory inserisci la versione 1.0.0.1.In questo caso dovrebbero esserci due directory separate nella posizione di stoccaggio isolati (vedere altre risposte) per queste due diverse versioni.

O è possibile che la prima volta si esegue la tua app in modalità debug all'interno vs e poi hai spostato il tuo exe ed eseguilo direttamente.In questo caso dovrebbero esserci due diverse directory come YourAppName e YourAppName.vschost .

Comunque si prega di ispezionare le tue posizioni di archiviazione isolate per ottenere maggiori informazioni.

È possibile utilizzare IsolatedStorageFile.GetUserStoreForAssembly per ottenere un negozio che è possibile utilizzare, purché l'identità assordbile sia invariata.Quindi sarà anche indipendente dalla posizione del file EXE.Vedi il MSDN Articolo

L'ho provato io stesso e ho notato che l'assembleagnalità sull'istanza isolataStageFile cambia quando si sposta l'applicazione in un'altra cartella.

Per evitare ciò, è necessario firmare il montaggio e solo è possibile spostare l'applicazione in un'altra cartella e utilizzare ancora la stessa posizione per il file di archivio isolato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top