não consigo abrir meu arquivo de armazenamento isolado quando movo meu aplicativo exe
-
13-12-2019 - |
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á?
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.
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.