6

我正在通过 IsolatedStorageFile.GetMachineStoreForAssembly() 方法使用独立存储来存储我的应用程序设置。

在我的应用程序已经部署之后,我购买了一个数字证书来签署我的软件。但是,带有证书的新版本无法读取旧的设置文件。这大概是因为签名改变了应用程序的身份。

如何访问从旧版本(未签名)写入的旧设置?是否有可能通过传入旧身份以某种方式获取旧程序集的机器存储?

4

1 回答 1

2

机器存储由应用程序身份标识,而不仅仅是名称
签署代码后,您的 publicKeyToken 会有所不同。

参考资料: http:
//msdn.microsoft.com/en-US/library/system.io.isolatedstorage.isolatedstoragefile.getmachinestoreforassembly (v=vs.80).aspx http://msdn.microsoft.com/en-us/库/b0yt6ck0.aspx

  • 编辑 -
    这是隔离存储的缺点之一。我不将其用于永久设置,如有必要,无法重新输入。对于长期存储,我在 ApplicationData 文件夹下为我的应用程序创建一个文件夹 Environment.GetFolderPath(ApplicationData)并将我的文件存储在那里。

话虽如此,如果您知道文件名,我发现这篇文章有时可用于定位文件夹。

于 2013-06-23T22:23:22.333 回答