не могу открыть мой изолированный файл хранения, когда я перемещаю свое приложение EXE

StackOverflow https://stackoverflow.com//questions/9690664

Вопрос

Я использую технологию изолированных таблиц в моем приложении C # .NET.

Мое приложение сохраняет данные о закрытии в файле, называемых mydata.dat в изолированном хранении.

Когда я открываю свое приложение, это перезагружает эти данные и распечатать его на экране.

Когда я перемещаю свое приложение в другой каталог, например из D: \ myapp.exe to d: \ apps \ myapp.exe, а затем запустить приложение из нового каталога, он не загрузка файла mydata.dat (FilenotfoundException) Потому что он ищет другой файл mydata.dat в другом месте ..

кто-то знает, как я могу сохранить свой изолированный файл - mydata.dat файл в месте, которое не имеет значения, откуда я открою свой app.exe, это найдет это?

Это было полезно?

Решение

Проверьте каталог композиции изолированный панель в обоих случаях.Даже если машина такая же, ожидается, что путь хранения может быть отличным для того же приложения в разных местах.

Получить путь для хранения изоляции

Другие советы

Я думаю, что информация вашей сборки изменилась каким-то образом.Например, прежде чем переместить EXE, это была версия 1.0.0.0, а в другом каталоге вы поместите разную версию 1.0.0.1.В этом случае должно быть два отдельных каталога в изоляции местоположения хранения (см. Другими ответами) для этих двух разных версий.

Или это возможно, что впервые запустите свое приложение в режиме отладки внутри VS, а затем вы перемещали свой EXE и запустите его напрямую.В этом случае должно быть два разных каталога, такие как yourappname и yourappname.vschost .

В любом случае, пожалуйста, проверьте ваши изолированные места хранения, чтобы получить больше информации.

Вы можете использовать IsolatedStorageFile.GetUserStoreForAssembly, чтобы получить магазин, который вы можете использовать, до тех пор, пока индивидуальная идентичность не изменяется.Таким образом, он также будет независимым от расположения файла EXE.Смотрите MSDN Статья >

Я попробовал это сам, и я заметил, что сборка в экземпляре изолированныйStorageFile изменяется при перемещении приложения в другой папке.

Чтобы предотвратить это, вы должны подписать сборку и только тогда вы можете переместить приложение в другую папку и все еще использовать одно и то же место для изолированного файла хранения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top