首页 > 解决方案 > VSTO ClickOnce 部署配置值

问题描述

我在 word 中创建了一个 VSTO 插件,它可以读取表单字段并将它们保存到本地文件夹中的文档中。

在开发过程中,我添加了一个 app.config 以便我们可以配置输出文件夹。

现在我们想将它推广到 QA 和其他环境。我的问题是我们如何使它可配置?

Clickonce 创建一个清单文件和应用程序文件,但与其他 .net 应用程序不同,它在发布文件夹中没有 app.config 文件。

我在想,如果唯一的方法是做一个 Windows 安装程序安装项目,并可能将此 Outputfolder 添加为注册表项并在代码中引用此注册表项?

当我们安装 VSTO 插件时,它会在哪里安装文件?

任何帮助将不胜感激。

谢谢

标签: .netms-wordinstallationvsto

解决方案


ClickOnce 将 VSTO 加载项安装到 %localappdata%\Apps\2.0 下的混淆文件夹中。因此,您无法以这种方式更改 app.config 中的内容。

一种选择,我怀疑这是可能的,但不确定,是将您的 app.config 放在网络文件夹中并在运行时将其拉入。

另一个是在 app.config 之外创建一个完全独立的配置。一种非常简单的方法是为要存储的字段创建类,避免使用不可为空的类型(例如使用 bool?而不是 bool),并将 [Serializable] 添加到每个类。然后使用XmlSerializer.Serialize将其写入文件并XmlSerializer.Deserialize读取它。您也可以使用 JSON 序列化。


推荐阅读