升级程序集时,在隔离存储中迁移文件的最佳方法是啥?
Posted
技术标签:
【中文标题】升级程序集时,在隔离存储中迁移文件的最佳方法是啥?【英文标题】:When upgrading an Assembly, what's the best way to migrate files in Isolated Storage?升级程序集时,在隔离存储中迁移文件的最佳方法是什么? 【发布时间】:2010-10-09 05:47:27 【问题描述】:我有一个偶尔会更新的 .Net 2.0 C# 应用程序,并且程序集版本和文件版本会增加。这一切都很好,但它也破坏了在独立存储中存储 xml 设置文件。 (xml文件由DevExpress XtraGridView.SaveLayoutToXml()生成)
有没有办法将这些文件从隔离存储中的旧文件夹复制到新文件夹。即从 Appname\1.0.0.0 到 Appname\1.0.1.0
或者有没有更好的地方来存储这些 xml 文件,当应用程序的文件版本改变时不会改变?
我不想将这些文件存储在应用程序的 .exe 文件夹中,因为在没有管理员权限的情况下不允许应用程序在 Vista 中写入该文件夹。
【问题讨论】:
【参考方案1】:如果您使用 ClickOnce,则可以使用 application-scoped isolated storage。
如果您不使用 ClickOnce,则可以通过为您的应用程序提供 strong name 来获得相同的效果。强名称通过向程序集添加公钥令牌和数字签名来保证程序集身份的唯一性。
【讨论】:
我没有使用 ClickOnce。我在您提供的第二个链接中读到,不建议使用强名称对您的主 .exe 程序集进行签名。我最终将 xml 作为字符串存储在设置文件中,该文件通过版本升级进行升级(使用几行代码)以上是关于升级程序集时,在隔离存储中迁移文件的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
从 google appengine 数据存储迁移到 google cloud bigtable 的最佳方法是啥?
在独立的 Django 应用程序中进行新迁移的最佳方法是啥?
在 Laravel Migrations 中存储时区的最佳方法是啥