Pergunta

Estou usando a tecnologia IsolatedStorage em meu aplicativo C# .net.

Meu aplicativo salva dados próximos em um arquivo chamado MyData.dat no armazenamento isolado.

quando abro meu aplicativo ele recarrega esses dados e os imprime na tela.

quando movo meu aplicativo para outro diretório, por exemplo, de D:\MyApp.exe para D:\Apps\MyApp.exe e, em seguida, executo o aplicativo a partir de seu novo diretório, ele falha ao carregar o arquivo MyData.dat (FileNotFoundException) porque está procurando um arquivo MyData.dat diferente em um local diferente.

Alguém sabe como posso salvar meu arquivo isolado - arquivo MyData.dat em um local que não importa de onde eu abra meu App.exe ele o encontrará?

Foi útil?

Solução

Verifique o diretório de isolatedstorage recuperado em ambos os casos.Mesmo se a máquina for a mesma, o caminho de armazenamento esperado de espera pode ser diferente para o mesmo aplicativo em diferentes locais.

Obtenha o caminho de armazenamento de isolamento

Outras dicas

Eu acho que suas informações de montagem mudou de alguma forma.Por exemplo, antes de mover o seu exe, foi a versão 1.0.0.0 e em outro diretório você colocou a versão 1.0.0.1 diferente.Neste caso, deve haver dois diretórios separados no local de armazenamento de isolados (veja outras respostas) para essas duas versões diferentes.

ou é possível que primeira vez que você execute seu aplicativo no modo de depuração dentro vs e, em seguida, você moveu seu exe e executá-lo diretamente.Neste caso, deve haver dois diretórios diferentes como yourappname e yourappname.vschost .

De qualquer forma, inspecione seus locais de armazenamento isolados para obter mais informações.

Você pode usar IsolatedStorageFile.GetUserStoreForAssembly para obter uma loja que você pode usar, desde que a identidade da montagem permaneça inalterada.Portanto, também será independente da localização do arquivo exe.Veja o Artigo MSDN

Eu tentei para mim e notei que a afirmação da assembléia na instância isoladaStorageFile muda quando você move o aplicativo em outra pasta.

Para evitar isso, você tem que assinar a montagem e só então você pode mover o aplicativo para outra pasta e ainda usar o mesmo local para o arquivo de armazenamento isolado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top