VSTO Outlook 插件需要保存设置,最好的方法是啥?
Posted
技术标签:
【中文标题】VSTO Outlook 插件需要保存设置,最好的方法是啥?【英文标题】:VSTO Outlook addin need to save settings, best way?VSTO Outlook 插件需要保存设置,最好的方法是什么? 【发布时间】:2012-01-10 01:55:05 【问题描述】:我正在编写 VSTO Outlook 插件,我需要保存插件从 Web 服务获取的一些设置。做这个的最好方式是什么。注册表? VSTO 插件是否具有执行此类操作的完全权限?也许是一个包含设置的文件?
提前致谢。
【问题讨论】:
您需要outlook存储项。我发现这个视频很有帮助:How Do I: Use the Outlook Storage Item to Store Add-In Data? 【参考方案1】:您可以使用Settings (.settings) 文件。
这个文件的优点是,除了有一个集中的强类型存储库之外,您可以将这些设置设置为 application-scoped 或 user-scoped。应用程序设置将可供计算机的所有用户使用。用户设置将针对每个用户进行个性化设置。 (我相信框架实际上会将这些设置存储在操作系统中某个位置的单独文件中。我不确定,但这没关系。设置文件的美妙之处在于它会为您处理实际的存储和检索.)
【讨论】:
我不认为这是完全正确的,在您提供的链接中,它说这些设置已保存到 user.config 文件中。根据this page,VSTO 应用程序不支持 user.config 文件。相反,您需要编写自定义设置提供程序。 @bmeding 我可以确认用户和应用程序范围的设置确实适用于 VSTO 4。但我认为以前的 VSTO 迭代并非如此,因为您引用的文章来自 2005 年. @Keith 使用 VSTO 4,user.config 存储在以 Outlook 版本号命名的文件夹中。当用户更新 Outlook 时,它将开始在不同的文件夹(新版本号)中查找 user.config 文件。对用户来说,他们之前的任何设置都已丢失。 @Phil 尝试 Office 2007 和 2010 VSTO 的设置文件。 不要添加 app.config,使用项目属性中可用的 settings.settings 文件。关于“似乎丢失”的设置确实如此,对于企业部署,您需要备份文件并将其作为“办公室升级”的一部分进行恢复。【参考方案2】:您可以按照@Keith's answer 使用设置文件。
该答案的 cmets 中有一些讨论说,如果升级 Office 版本,设置将丢失,因为设置文件的路径包含 Office 版本号。
虽然这是真的,但有一个简单的解决方案 - 只需使用 settings.Upgrade。
【讨论】:
以上是关于VSTO Outlook 插件需要保存设置,最好的方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
c# Outlook VSTO 插件,当邮箱处于仅标头模式时将下载新邮件
如何将 Outlook 2007 VSTO 插件升级到新版本
outlook2007,开发的vsto插件,安装到客户机提示:未加载。加载COM加载项时出现运行错误
在 Outlook VSTO 插件中调用了 SelectionChane,但 ActiveExplorer().Selection.Count = 0: